У меня есть вложенный массив массивов, и я хочу перетасовать внутренние массивы. Мой код выглядит так (упрощенный):
$a = array(array('banana', 'peach'), array('ding', 'dong'), array('oh snow')); foreach ($a as &$arr) { shuffle($arr); } var_dump($a);
Var_dump выводит это:
array(3) { [0]=> array(2) { [0]=> string(5) "peach" [1]=> string(6) "banana" } [1]=> array(2) { [0]=> string(4) "ding" [1]=> string(4) "dong" } [2]=> &array(1) { [0]=> string(7) "oh snow" } }
Как вы можете видеть на выходе, работают первые два подмассива, но третий субаррейс связан ссылкой на выходе …
В моем полном приложении эта последняя ссылка на массив вызывает проблемы, но вместо того, чтобы обойти проблему, я хочу исправить эту игру в случайном порядке …
Ура!