【PHP】下らねぇ質問はここに書き込みやがれ 28
■ このスレッドは過去ログ倉庫に格納されています
0503nobodyさん
2006/09/10(日) 14:09:50ID:QbCxbqAn$a = array(
array(1,2,3),array(1,3,2),
array(2,1,3),array(2,3,1),
array(3,1,2),array(3,2,1)
);
print_r($a);
foreach($a as &$b){
array_push($b,$b[0]);
}
print_r($a);
foreach($a as $b){
foreach($b as $c){
echo $c;
}
echo '<br/>';
}
?>
1から3までの順列を定義し、さらにその末尾に最初の値を付けた数列を得ようとしています。
しかしこれを実行すると
1231
1321
2132
2312
3123
3123
と何故か最後の1つだけ最後から2番目の数列と同じ値になってしまいます。
foreachで$bを参照にしている影響だと思いますが($bの変数名を変えればうまくいきます)、
どういう原因でこうなるんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています