说我有以下数组:
$var = array(
"green" => array("one", "two"),
"red" => array("three", "four"),
"yellow" => array("five", "six")
);
我需要编写哪些代码才能生成任意数字的随机输出?
我已经尝试了以下内容,这将给我一个"一个","三个"或者"五"。
$section = array_rand($var);
echo $var[$section][0];
但是我似乎无法将密钥随机化,因此它将随机选择一种颜色,然后随机选择该颜色中的数字。我显然有一个昏暗的时刻。任何人都可以开导我吗?感谢。
答案 0 :(得分:6)
array_rand()
将随机化整个数组。这意味着它将
所以我更喜欢
function getrandomelement($array) {
$pos=rand(0,sizeof($array)-1);
$res=$array[$pos];
if (is_array($res)) return getrandomelement($res);
else return $res;
}
and ofcourse
echo getrandomelement($var);
修改强>
如果不清楚,上述功能适用于任何尺寸,即使尺寸不同(非方形/立方体)。
答案 1 :(得分:5)
The short way to get random element
:
$var = array(
"green" => array("one", "two"),
"red" => array("three", "four"),
"yellow" => array("five", "six")
);
$section = array_rand($var); //here yoy get random first of array(green or red or yellow)
echo $var[$section][array_rand($var[$section])]; //here you get random element of this array