前提・実現したいこと
以下についてご教授ください。
下記コードにより$exp_contentsに"total_price"要素を追加したいのですが、出力結果は①に示している処理前の状態から代わりません。②想定している結果を得られないのは何故でしょうか?
(foreachの中で$exp_contentを出力すると"total_price"要素は追加されているのですが、foreachの外で$exp_contentsを出力すると"total_price"要素は追加されていない。)
該当のソースコード
php
1foreach ($exp_contents as $exp_content) { 2$exp_content["total_price"] = 777]; 3var_dump($exp_content); 4} 5var_dump($exp_contents);
補足情報(FW/ツールのバージョンなど)
@var_dump($exp_contents)の出力結果
①処理前の$exp_contents(処理後も同様の結果が出力)
array(4) {
[0]=>array(2) { ["id"]=> string(1) "1" ["expense_content"]=> string(6) "食費" }
[1]=>array(2) { ["id"]=> string(1) "5" ["expense_content"]=> string(9) "交際費" }
[2]=>array(2) { ["id"]=> string(2) "15" ["expense_content"]=> string(9) "交通費" }
[3]=>array(2) { ["id"]=> string(2) "18" ["expense_content"]=> string(6) "雑費" }
}
②想定している結果
array(4) {
[0]=>array(3) { ["id"]=> string(1) "1" ["expense_content"]=> string(6) "食費" ["total_price"]=> string(3) "777" }
[1]=>array(3) { ["id"]=> string(1) "5" ["expense_content"]=> string(9) "交際費" ["total_price"]=> string(3) "777" }
[2]=>array(3) { ["id"]=> string(2) "15" ["expense_content"]=> string(9) "交通費" ["total_price"]=> string(3) "777" }
[3]=>array(3) { ["id"]=> string(2) "18" ["expense_content"]=> string(6) "雑費" ["total_price"]=> string(3) "777" }
}
回答2件
あなたの回答
tips
プレビュー