如何在数组中混洗数组?我尝试了很多方法,但我做不到。我认为这很简单,但我坚持认为。
Array
(
[2] => Array
(
[0] => 12011190
[1] => 12011158
[2] => 12011583
[3] => 12012107
[4] => 12011222
[5] => 12010638
[6] => 12013836
[7] => 12012232
[8] => 12011256
[9] => 12010007
[10] => 12012531
[11] => 12012182
[12] => 12013253
)
[6] => Array
(
[0] => 12011565
[1] => 12010020
[2] => 12011352
[3] => 12014366
[4] => 12011879
[5] => 12011449
)
)
我想在数组中随机播放。我希望解释一下......
答案 0 :(得分:8)
据我所知,你可以这样做(假设你想独立地洗牌每个子阵列):
foreach($array AS &$element) {
shuffle($element);
}
或者也许是这样:
array_walk($array, function(&$value, $key) {
shuffle($value);
});
答案 1 :(得分:0)
这是一个可以使用的递归多级函数。
function shuffle_array($arr) {
if (!is_array($arr)) return $arr;
shuffle($arr);
foreach ($arr as $key => $a) {
if (is_array($a)) {
$arr[$key] = shuffle_array($a);
}
}
return $arr;
}
print_r(shuffle_array($array));