从数组中获取随机值


Get random value from array

我有一个数组,它输出以下内容:

Array ( [roi_data] => Array (
    [0] => Array ( [title] => Test ROI )
    [1] => Array ( [title] => Another ROI ) 
))

我想把所有带标题的键组合成一个数组,然后从中回显一个随机值

我试过使用array_rand(),但我只是让单词Array出现。

您有一个嵌套数组,因此需要:

$key = array_rand( $array['roi_data']);
echo $array['roi_data'][$key]['title'];

您有一个多维数组。当您调用array_rand时,您将从第一层数组中返回一个随机元素——这个元素本身就是一个数组。

Array (
    [roi_data] => Array (          <-- there is only one element in the top level
        [0] => Array (               <-- there are two elements in this level
            [title] => Test ROI        <-- there is only one element in this level
        ), 
        [1] => Array (
            [title] => Another ROI 
        )
    )
)

因此,如果您想要roi_data级别的随机元素,则必须指定:

$key = array_rand($myArray['roi_data']);
$item = $myArray['roi_data'][$key];
echo $item['title'];

文档

  • array_rand-http://php.net/manual/en/function.array-rand.php
  • PHP数组-http://php.net/manual/en/language.types.array.php
  • 了解多维数组-http://webcheatsheet.com/php/multidimensional_arrays.php