0
function acids(){
    $acidsarray=array('lemonjuice','vinegar','sherry','champagne','orange');
    $acids=array_rand($acidsarray);
    echo $acids;
}

你好,我是编程新手,这是我编写的一个函数,它的想法是它应该从数组中吐出一种成分;当我运行它时,它会返回一个数字,通常在 0 到 4 之间,所以它正在做一些事情,尽管不是我想要它做的事情。你能看出我哪里错了吗?

我已经用 python 编写了这个函数,使用相同的逻辑,它工作正常。

谢谢

4

4 回答 4

3

array_rand仅返回密钥,因此当您回显时,您需要回显:

echo $acidsarray[$acids];
于 2013-05-11T09:43:36.147 回答
0

您还可以使用 shuffle 函数来提供随机值。

function acids(){
    $acidsarray = array('lemonjuice','vinegar','sherry','champagne','orange');
    shuffle($acidsarray);
    echo $acidsarray[0];
}
于 2013-05-11T10:01:14.117 回答
0

您想要执行以下操作:

function acids(){
            $acidsarray=array('lemonjuice','vinegar','sherry','champagne','orange');
            $acids=$acidsarray[array_rand($acidsarray)];
            echo $acids;
}

因为文档

从数组中选择一个或多个随机条目,并返回随机条目的键(或多个键)

于 2013-05-11T09:43:54.770 回答
0

如果您阅读过文档,您会看到array_rand返回一个随机索引,该索引对随后在数组上使用有效。

所以你需要添加:

$acids = $acidsarray[$acids];
于 2013-05-11T09:43:58.917 回答