如何使用 foreach 循环添加多维数组元素

How to add multidimensional array elements using a foreach loop

我在循环我想做的事情时遇到了问题。

我有一个名为 $data 的数组,目前只有两个元素:

array(2) {
  ["pagination"]=>
  string(166) "https://someURL.com"
  ["images"]=>
  string(3) "foo"
}

我现在想在 [images] 元素中添加另一个维度。在那个元素中,还有另外两条数据。结果将如下所示:

array(2) {
  ["pagination"]=>
  string(166) "https://someURL.com"
  ["images"]=> array(5) {
      [0]=> array(2){
        ["image_url"]=> string(1234) "http://www.blah.com"
        ["caption"]=> string(1234) "Here is my caption strng"
      }
      [1]=> array(2){
        ["image_url"]=> string(1234) "http://www.blah.com"
        ["caption"]=> string(1234) "Here is my caption strng"
      } 
      [2]=> array(2){
        ["image_url"]=> string(1234) "http://www.blah.com"
        ["caption"]=> string(1234) "Here is my caption strng"
      } 
      [3]=> array(2){
        ["image_url"]=> string(1234) "http://www.blah.com"
        ["caption"]=> string(1234) "Here is my caption strng"
      } 
      [4]=> array(2){
        ["image_url"]=> string(1234) "http://www.blah.com"
        ["caption"]=> string(1234) "Here is my caption strng"
      }  
}

我的问题是,如何从它的原始来源(一个名为 $pics 的数组)中提取数据并以上述方式将其输入到我的新 [images] 元素中?

目前我可以使用以下循环输出 image_urlcaption 数据,我只是不知道如何将该数据推送到上面的数组中。

foreach($pics['data'] as $pic){
    $caption = $pic['caption']['text'];
    $image = $pic['images']['standard_resolution']['url'];
}

尝试这样的事情:

foreach($pics['data'] as $pics)
{
     $caption = $pic['caption']['text'];
     $image = $pic['images']['standard_resolution']['url'];
     $data['images'][] = array($image, $caption);
}

编辑:$data['images'] 必须设置为数组 before foreach 语句:$data['images'] = array();