下記のような配列があります。
PHP
1 2$testarr[] = array( 3 'namae' => '田中', 4 'address' => 'hogestreet1', 5 'favorite' => 'マグロ', 6 'price' => '100', 7 'eart_date' => '2019-11-11' 8 ); 9 $testarr[] = array( 10 'namae' => '田中', 11 'address' => 'hogestreet1', 12 'favorite' => 'ハマチ', 13 'price' => '120', 14 'eart_date' => '2019-11-12' 15 ); 16 $testarr[] = array( 17 'namae' => '田中', 18 'address' => 'hogestreet1', 19 'favorite' => 'いくら', 20 'price' => '180', 21 'eart_date' => '2019-11-11' 22 ); 23 $testarr[] = array( 24 'namae' => '田中', 25 'address' => 'hogestreet1', 26 'favorite' => 'サーモン', 27 'price' => '140', 28 'eart_date' => '2019-11-13' 29 ); 30 $testarr[] = array( 31 'namae' => '田中', 32 'address' => 'hogestreet1', 33 'favorite' => 'イワシ', 34 'price' => '100', 35 'eart_date' => '2019-11-15' 36 ); 37 $testarr[] = array( 38 'namae' => '松田', 39 'address' => 'hogestreet2', 40 'favorite' => 'ししゃも', 41 'price' => '120', 42 'eart_date' => '2019-12-11' 43 ); 44 $testarr[] = array( 45 'namae' => '松田', 46 'address' => 'hogestreet2', 47 'favorite' => 'サバ', 48 'price' => '110', 49 'eart_date' => '2019-12-12' 50 ); 51 $testarr[] = array( 52 'namae' => '松田', 53 'address' => 'hogestreet2', 54 'favorite' => 'タイ', 55 'price' => '200', 56 'eart_date' => '2019-12-11' 57 ); 58 $testarr[] = array( 59 'namae' => '松田', 60 'address' => 'hogestreet2', 61 'favorite' => 'ぶり', 62 'price' => '140', 63 'eart_date' => '2019-12-13' 64 ); 65 $testarr[] = array( 66 'namae' => '松田', 67 'address' => 'hogestreet2', 68 'favorite' => 'カレイ', 69 'price' => '100', 70 'eart_date' => '2019-12-15' 71 ); 72
これらの配列を名前をキーとして重複しているものをまとめて配列にしたいと考えています。
イメージとしては
PHP
1 2$kanseilist = array ( 3 0 => 4 array ( 5 'userinfo' => array( 6 0 => '田中', 7 1 => 'hogestreet1' 8 ), 9 'favoritelist' => array ( 10 0 => array( 11 0 => 'マグロ', 12 1 => '100', 13 2 => '2019-11-11' 14 ), 15 1 => array( 16 0 => 'ハマチ', 17 1 => '120', 18 2 => '2019-11-12' 19 ), 20 2 => array( 21 0 => 'いくら', 22 1 => '180', 23 2 => '2019-11-11' 24 ), 25 3 => array( 26 0 => 'サーモン', 27 1 => '140', 28 2 => '2019-11-13' 29 ), 30 4 => array( 31 0 => 'イワシ', 32 1 => '100', 33 2 => '2019-11-15' 34 ), 35 ), 36 1 => 37 array ( 38 'userinfo' => array( 39 0 => '松田', 40 1 => 'hogestreet2' 41 ), 42 'favoritelist' => array ( 43 0 => array( 44 0 => 'ししゃも', 45 1 => '120', 46 2 => '2019-12-11' 47 ), 48 1 => array( 49 0 => 'サバ', 50 1 => '110', 51 2 => '2019-12-12' 52 ), 53 2 => array( 54 0 => 'タイ', 55 1 => '200', 56 2 => '2019-12-11' 57 ), 58 3 => array( 59 0 => 'ぶり', 60 1 => '140', 61 2 => '2019-12-13' 62 ), 63 4 => array( 64 0 => 'カレイ', 65 1 => '100', 66 2 => '2019-12-15' 67 ), 68 ), 69 );
このような配列を作成したいと考えております。
試したこととしては
PHP
1 2$temp = []; 3$arr = []; 4 5 6 foreach ($testarr as $value) { 7 $temp[$value['namae']][] = $value['favorite']; 8 $temp[$value['address']][] = $value['favorite']; 9 } 10 11 foreach ($temp as $name => $favorites) { 12 $arr[] = [ 13 'name' => $name, 14 $favorites 15 ]; 16 }
このようなことを試しましたがうまくいかず詰まっております。
何かご教授いただけないでしょうか?
よろしくお願いします。
追記
ケータイからの投稿によりインデントがぐちゃぐちゃになっているかもしれませんが申し訳ありません。
同じタイトルで質問繰り返されていますが、過去の質問についた回答は理解できてないということでしょうか。
同一人物で同一タイトルが繰り返されるのは問題が解決していないのとイコールと捉えられます。
現に「丸投げ」と指摘がついているようですね。
それに携帯から投稿ということは手入力したということになります。
それではご自身が組まれているコードとイコールにはならないので、起きている問題の再現確認もできません。
「作れ」と作業依頼しているのと同じですよ。
本当に解決したいのでしたらきちんとコードをコピペしてください。
そういう環境にいないのでしたら、そういう環境に身をおけるようになってから質問してください。
回答ついたとて、携帯からでは読みにくいし動作確認は難しいでしょう?