我从数组中收到一个整数值,而不是名字。如何更正我的代码以从数组中随机选择一个名称?
$family = array();
array_push($family, "joe");
array_push($family, "bill");
array_push($family, "carl");
$sorted = sort($family);
$select = rand(0, count($sorted) - 1);
echo $select;
答案 0 :(得分:1)
sort()
不返回已排序的数组,它按引用对传递的数组进行排序。rand()
将返回一个随机索引,以便在数组中使用,如:echo $family[$select];
。如果您不需要为以后排序的数组,则更简单的方法是:
shuffle($family);
echo $family[0];
或者如果你确实需要它排序:
sort($family);
echo $family[array_rand($family)];
答案 1 :(得分:0)
您的代码
$sorted = sort($family);
$select = rand(0, count($sorted) - 1);
echo $select;
替换为,
asort($family);
$select = array_rand($family);
echo "Randomly Selected array value==" . $family[$select];