从数组中获取随机值

时间:2012-07-27 16:34:05

标签: php arrays

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

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

我想将所有带有title的键合并到一个数组中,然后从中回显一个随机值。

我尝试使用array_rand(),但我只是出现了Array这个词。

2 个答案:

答案 0 :(得分:6)

你有一个嵌套数组,所以你需要:

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

答案 1 :(得分:3)

你有一个多维数组。当你调用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'];

<强>文档