"titleMM", "bodydata"=>"bodyMM" ), array( "t"/> "titleMM", "bodydata"=>"bodyMM" ), array( "t">
foreach トラバーサルでエラーが発生するのはなぜですか?
ネチズンの投稿を見て、自分でも試してみたところ、華さんの言う通りにうまくいきましたが、理由はわかりません。アドバイスをお願いします。
b7e04617bf02f04571deba6529f65a7d [タイトルデータ] => タイトル [ボディデータ] => ボディ ) [1] => 配列 ( [タイトルデータ] => タイトル [ボディデータ] => ボディ )
------解決策----------------------
理由は非常に簡単です、foreach( $ blog as $b) がコピーを取得します。コピーを書き換えても、元の
$blog=array( <br /> array( <br /> "titledata"=>"titleMM", <br /> "bodydata"=>"bodyMM" <br /> ), <br /> array( <br /> "titledata"=>"titleGG", <br /> "bodydata"=>"bodyGG" <br /> ) <br />); <br /><br />foreach($blog as &$b) <br />{ <br /> $b['titledata']="BB"; <br /> $b['bodydata']="CC"; <br />} <br />print_r($blog);には影響しません。