PHP数组问题(初学者)

时间:2015-12-27 21:58:54

标签: php arrays random count array-push

我从数组中收到一个整数值,而不是名字。如何更正我的代码以从数组中随机选择一个名称?

$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;

2 个答案:

答案 0 :(得分:1)

  1. sort()不返回已排序的数组,它按引用对传递的数组进行排序。
  2. 使用rand()将返回一个随机索引,以便在数组中使用,如:echo $family[$select];
  3. 如果您不需要为以后排序的数组,则更简单的方法是:

    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];