下記のような配列が存在した時に
PHP
1 $testarr[] = array( 2 'namae' => '田中', 3 'favorite' => 'マグロ' 4 ); 5 $testarr[] = array( 6 'namae' => '田中', 7 'favorite' => 'ハマチ' 8 ); 9 $testarr[] = array( 10 'namae' => '田中', 11 'favorite' => 'いくら' 12 ); 13 $testarr[] = array( 14 'namae' => '田中', 15 'favorite' => 'サーモン' 16 ); 17 $testarr[] = array( 18 'namae' => '田中', 19 'favorite' => 'イワシ' 20 ); 21 $testarr[] = array( 22 'namae' => '松田', 23 'favorite' => 'ししゃも' 24 ); 25 $testarr[] = array( 26 'namae' => '松田', 27 'favorite' => 'サバ' 28 ); 29 $testarr[] = array( 30 'namae' => '松田', 31 'favorite' => 'タイ' 32 ); 33 $testarr[] = array( 34 'namae' => '松田', 35 'favorite' => 'ぶり' 36 ); 37 $testarr[] = array( 38 'namae' => '松田', 39 'favorite' => 'カレイ' 40 );
nameが同じもので1つの配列として新しい配列を作成したのですがやり方がわからず困っております。
イメージとしては下記のような配列を新規に作成したいです。
PHP
1 $kanseilist = array ( 2 0 => 3 array ( 4 'name' => '田中' 5 array ( 6 0 => 'マグロ', 7 1 => 'ハマチ', 8 2 => 'いくら', 9 3 => 'サーモン', 10 4 => 'イワシ', 11 ), 12 1 => 13 array ( 14 'name' => '松田' 15 array ( 16 0 => 'ししゃも', 17 1 => 'サバ', 18 2 => 'タイ', 19 3 => 'ぶり', 20 4 => 'カレイ', 21 )、 22); 23
下記のものを試してみたのですがうまく振り分けられず苦戦しています。
PHP
1$kanseilist = array(); 2 3 for($i = 0; $i < count()$testarr); $i ++){ 4 for ($j = 0; $j < count($testarr); $j ++) { 5 if ($testarr[$i]['name'] == $testarr[$j]['name']) { 6 $kanseilist[] = array( 7 'name' => $testarr[$j]['name'], 8 'shohi' => $testarr[$j]['favorite'] 9 ); 10 } 11 } 12 }
回答1件
あなたの回答
tips
プレビュー