$array= [ ['id' => 1, 'massage' => '●メッセージ1'], ['id' => 1, 'massage' => '●メッセージ2'], ['id' => 1, 'massage' => '●メッセージ3'], ['id' => 2, 'massage' => '●メッセージ1'], ['id' => 2, 'massage' => '●メッセージ2'], ['id' => 3, 'massage' => '●メッセージ1'], ];
以上のような連想配列を
$array= [ ['id' => 1, 'massage' => '●メッセージ1●メッセージ2●メッセージ3'], ['id' => 2, 'massage' => '●メッセージ1●メッセージ2'], ['id' => 3, 'massage' => '●メッセージ1'], ];
のように、重複しているIDの行を一つ残し削除+massageの内容を残った一つの中にすべて格納するような仕組みを作りたいです。
なおフレームワークとしてlaravelを使用しているのでlaravelのメソッドも使用可能です。
追記
上記の通り比較するのはidが重複するもので、結合するのはmassageだとして他にnameやcolorなど多数のの列が加わる(idが同じの場合nameやcolorも必ず同じ値になり、違うのはmassageのみ)の場合の書き方も教えていただけると幸いです。
$array= [ ['id' => 1, 'name' => '東京, 'color' => '黒', 'massage' => '●メッセージ1'], ['id' => 1, 'name' => '東京, 'color' => '黒', 'massage' => '●メッセージ2'], ['id' => 1, 'name' => '東京, 'color' => '黒', 'massage' => '●メッセージ3'], ['id' => 2, 'name' => '新宿, 'color' => '赤', 'massage' => '●メッセージ1'], ['id' => 2, 'name' => '新宿, 'color' => '赤', 'massage' => '●メッセージ2'], ['id' => 3, 'name' => '品川, 'color' => '青', 'massage' => '●メッセージ1'], ];
回答2件
あなたの回答
tips
プレビュー