配列のネストされた配列があり、内部配列をシャッフルしたいと思います。私のコードは次のようになります(簡略化):
$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" } }
出力でわかるように、最初の2つのサブアレイは機能しますが、3番目のサブアレイは出力で参照によってリンクされています...
私の完全なアプリでは、この最後の配列リンクが問題を引き起こしますが、問題を回避するのではなく、このシャッフルの問題を修正したいと思います...
乾杯!