我尝试使用下面的代码从数组中打印一个随机值70次但是我得到一个错误:'array_rand()期望参数1是数组'。
$q= array("top","below","right","left");
function ran(){
$rand_keys = array_rand($q, 1);
return $rand_keys[0];
}
for ($m=0; $m <70 ; $m++) {
ran($q);
echo ran();
}
答案 0 :(得分:3)
全局变量通常在函数内部不可见。您应该将$q
放在函数参数列表中:
function ran($q) {
$rand_keys = array_rand($q, 1);
return $rand_keys[0];
}
然后将其称为:
echo ran($q);
答案 1 :(得分:1)
是的,添加$ q作为参数。 此外,您应该在索引$ rand_key中返回$ q的值。 你有点想念使用array_rand返回值。
给你这段代码:
$q = array("top","below","right","left");
for ($m = 0; $m <70 ; $m++) {
echo ran($q).' ';
}
function ran($q){
$rand_keys = array_rand($q, 1);
return $q[$rand_keys];
}