【发布时间】:2015-07-14 08:09:07
【问题描述】:
我有一个名为 $all_events 的数组,如下所示:
Array
(
[status] => 1
[data] => Array
(
[0] => Array
(
[group_name] =>
[event_id] => 201
[view_id] => 0
[is_featured] => 0
[is_sponsor] => 0
)
[1] => Array
(
[group_name] =>
[event_id] => 235
[view_id] => 0
[is_featured] => 0
[is_sponsor] => 0
)
[2] => Array
(
[group_name] =>
[event_id] => 236
[view_id] => 0
[is_featured] => 0
[is_sponsor] => 0
)
)
[msg] => Success
)
在结果数组中,我想要内部数组['data'] 中的任意两个元素,因此我编写了以下代码:
$new_arr = array_rand($all_events['data'], 2);
print_r($new_arr); die;
我得到了以下奇怪的输出:
Array
(
[0] => 0
[1] => 2
)
预期结果应该如下(如果第一个和最后一个元素是随机选择的):
Array
(
[0] => Array
(
[group_name] =>
[event_id] => 201
[view_id] => 0
[is_featured] => 0
[is_sponsor] => 0
)
[2] => Array
(
[group_name] =>
[event_id] => 236
[view_id] => 0
[is_featured] => 0
[is_sponsor] => 0
)
)
为什么会这样?
谢谢。
【问题讨论】:
-
有什么问题?你期望得到什么?你看说明书了吗?!
-
@Rizier123 :如果第一个和最后一个元素是随机选择的,我已经添加了预期的输出。
标签: php arrays random multidimensional-array associative-array