2016-08-05 6 views
1

でアイテムを取得し、変更し、私は車を表すPHPの配列の配列を持っている:は多次元配列

Array ( 
    [0] => Array ( 
     [VehicleClass] => Car 
     [IsNew] => 1 
     [Year] => 2016 
     [Make] => Cadillac 
     [Model] => ATS 
     [ModelCode] => 6AC69 
     [Trim] => 2.0L Turbo Luxury Collection 
     [Headline] => 2016 Cadillac ATS Luxury 
     [ImageList] => Array ( 
      [0] => http://example.com/01e8c76c1339f342837e7f085fa5984559849e54_large.jpeg 
      [1] => http://example.com/ef86b6a54888afa29d3bab8df74ee4d520c1b0cd_large.jpeg 
      [2] => http://example.com/50437892/c0c5177c707ac2fbf3a1bb087a067b51bfe4427b_large.jpeg 
      [3] => http://example.com/49067490d1ee673831df15413784cb1bb35b4142_large.jpeg 
      [4] => http://example.com/de12530a19cd38dd07942a8f3947debb4a64b0cf_large.jpeg 
     ) 
    ) 
) 

    Array ( 
    [1] => Array ( 
     [VehicleClass] => Car 
     [IsNew] => 1 
     [Year] => 2016 
     [Make] => Cadillac 
     [Model] => ATS 
     [ModelCode] => 6AC69 
     [Trim] => 2.0L Turbo Luxury Collection 
     [Headline] => 2016 Cadillac ATS Luxury 
     [ImageList] => Array ( 
      [0] => http://example.com/01e8c76c1339f342837e7f085fa5984559849e54_large.jpeg 
      [1] => http://example.com/ef86b6a54888afa29d3bab8df74ee4d520c1b0cd_large.jpeg 
      [2] => http://example.com/50437892/c0c5177c707ac2fbf3a1bb087a067b51bfe4427b_large.jpeg 
      [3] => http://example.com/49067490d1ee673831df15413784cb1bb35b4142_large.jpeg 
      [4] => http://example.com/de12530a19cd38dd07942a8f3947debb4a64b0cf_large.jpeg 
     ) 
    ) 
) 

私は、URLを変更、その後、画像をダウンロードするためのURLを取得し、イメージリストアレイにアクセスしようとしています。私はこのサイトの多くのアイデアを含め、多くの異なることを試しましたが、私は単純なものを見逃しているように感じます。

外側の配列は$ aVehicleです。したがって、上記の例の各車両は、$ aVehicle [0]と$ aVehicle [1]で表されます。私はそれらの何百もをループする必要があります。

ありがとうございました!

私が試してみました物事:

foreach ($aVehicle as $vehicle => $data) { 
    if(is_array($data)) { 
     foreach ($data as $title => $value) { 
      if(is_array($value)) { 
       foreach ($title['ImageList'] as $imageNum => $imageURL) { 
        $imageURL = 'newURL.com'; 
       } 
      }   
     } 
    } 
} 

そして

foreach ($aVehicle as $vehicle => $data) { 
    foreach ($data['ImageList'] as $imageURL) { 
     $imageURL = 'newURL.com'; 
    } 
} 

、今この

私は配列の値にアクセスすることができるが、私それを変更することはできません。

foreach ($aVehicle as $vehicle => $data) { 
    foreach ($data as $title => $value) { 
     if ($title == 'ImageList') { 
      foreach ($value as &$imageURL) { 
       $imageURL = "newURL"; 
      } 
     }  
    } 
} 
+1

これを試すために現在使用している例を追加できますか?あなたがしようとしているものと、それを機能させるために変更する必要があるものを明確にするのに役立ちます。 –

+0

私は自分の投稿を更新して、私が試したことのいくつかの例を含めました。 –

答えて

0

私はこれを自分自身で解決することができました。次のコードを参照してください。

foreach ($aVehicle as $key => $data) { 
    foreach ($data as $subkey => $value) { 
     if ($subkey == 'ImageList') { 
      foreach ($value as $subsubkey => $imageURL) { 
       $aVehicle[$key][$subkey][$subsubkey] = 'newURL.com'; 
      } 
     }  
    } 
}