PHP 連想配列にKeyを追加
連想配列にkeyを追加
こういう連想配列があったとして
Array ( [0] => Array ( [User] => Array ( [id] => 1 [name] => 太郎 ) [Login] => Array ( [id] => 1 [login] => xxx [password] => password ) ) [1] => Array ( [User] => Array ( [id] => 2 [name] => 良夫 ) [Login] => Array ( [id] => 2 [login] => vvv [password] => password ) ) [2] => Array ( [User] => Array ( [id] => 3 [name] => 恵太 ) [Login] => Array ( [id] => 3 [login] => yyy [password] => password ) )
[3]は夫の名前です。(どうでもいい)
[User] に対して何か[kana]というkeyを追加したいとする。
array_pushを使ってもいけるんですが、
$hoge[0]['User']['kana'] = 'タロウ'; $hoge[1]['User']['kana'] = 'ヨシオ'; $hoge[2]['User']['kana'] = 'ケイタ';
foreachを使って動的にkeyを追加する
foreach($hoge as $key =>$hogehoge){
$hoge[$key]['User']['kana'] = 'カナ';
}
これがどう~~しても分からなくて何時間も悩んだのですが、$hogehogeには代入せずに$hogeに代入すればいいってことで。
要は$hogehogeは●●回目のループのデータが入っているわけで、全てのループに対しては$hoge。
メモメモ。