一个Php函数,用于提供数组中的随机值

时间:2013-05-11 09:41:05

标签: php function

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

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

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

谢谢

4 个答案:

答案 0 :(得分:3)

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

echo $acidsarray[$acids];

答案 1 :(得分:0)

您想要执行以下操作:

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

因为docs

  

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

答案 2 :(得分:0)

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

所以你需要添加:

$acids = $acidsarray[$acids];

答案 3 :(得分:0)

您还可以使用随机播放功能来提供随机值。

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