PHPを勉強しつつ、古いコードを頂いて色々試しているところなのですが、以下のような形式の連想配列をforeachを使って変換している場所がいくつかありました。
■元 $array1 = { 0 => { 'test1' => 100, 'test2' => 'AAAA', … } 1 => { 'test1' => 200, 'test2' => 'BBBB', … } … } ↓ foreach ($array1 as $key => $value) { $array2[$value['test1']]['test1'] = $value['test1']; } ↓ ■変換後 $array2 = { 100 => { 'test1' => 100 } 200 => { 'test2' => 200 } }
やっていることは単純で、array1の各バリュー内の'test1'の値をキーとして扱って、そのまま'test1'のセットを格納したものがarray2です。
他の変数との比較等でこのような変換をしているのですが、毎回以下foreachを使っていてなにやら無駄に長く感じます。
もうちょっと簡単に書く方法があれば良いのですが、全然思い付きません…
1行ですらっと表現する書き方があればご教示頂けませんでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。