1

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

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

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

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

4

2 回答 2

6

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

$key = array_rand( $array['roi_data']);
echo $array['roi_data'][$key]['title'];
于 2012-07-27T16:36:26.217 回答
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'];

文档

于 2012-07-27T16:38:25.453 回答