前提・実現したいこと
PHP初心者です。ハマってしまったので質問させていただきます。
$dataに格納されたデータをforeachで回して、関数makeDataUrlを呼び、
返ってきたURLを、id毎にまとめて出力したいのですが、方法が分かりません。
$dataの中には色んな情報が入っています↓
php
1array(5) { 2 [0]=> 3 array(3) { 4 ["Branch"]=> 5 array(3) { 6 ["id"]=> 7 string(4) "2204" 8 ["branch_number"]=> 9 string(5) "00001" 10 } 11 ["Store"]=> 12 array(3) { 13 ["store_number"]=> 14 string(5) "11568" 15 } 16 ["DataImage"]=> 17 array(5) { 18 [0]=> 19 array(3) { 20 ["image_number"]=> 21 string(2) "01" 22 ["name"]=> 23 string(20) "11-A.jpg" 24 ["id"]=> 25 string(4) "2204" 26 } 27 [1]=> 28 array(3) { 29 ["image_number"]=> 30 string(2) "02" 31 ["name"]=> 32 string(20) "01-01.jpg" 33 ["id"]=> 34 string(4) "2256" 35 } 36 [2]=> 37 array(3) { 38 ["image_number"]=> 39 string(2) "03" 40 ["name"]=> 41 string(20) "01-03.jpg" 42 ["id"]=> 43 string(4) "2256" 44 } 45 } 46 }
該当のソースコード
以下のロジックで$resultにURLを格納することはできたのですが、
ここから出力例のようにするにはどう直せばいいのか、考えても分からず困ってしまいました。。
ご教授いただければと思います。
php
1 foreach ($data as $value){ 2 if(!empty($value['DataImage'])) { 3 foreach ($value['DataImage'] as $values){ 4 $result[] = $this->makeDataUrl($values['name']); 5 $id[] = array($values['id']); 6 } 7 } 8 9 10 private function makeDataUrl($file) { 11 $url = 'https://aiueo.jp/images/'.$file; 12 return $url; 13 } 14
出力例
array(7) { [2256 ←idです]=> array(2) { [0]=> string(32) "https://aiueo.jp/images/11-A.jpg" [1]=> string(32) "https://aiueo.jp/images/01-01.jpg" }
試したこと
デバックの中身です
var_dump($result); array(2) { [0]=> string(32) "https://aiueo.jp/images/11-A.jpg" [1]=> string(32) "https://aiueo.jp/images/01-01.jpg" } var_dump($id); array(11) { [0]=> string(4) "2256" [1]=> string(4) "2256"
よろしくお願いします。