如何使用 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_url
和 caption
数据,我只是不知道如何将该数据推送到上面的数组中。
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();
我在循环我想做的事情时遇到了问题。
我有一个名为 $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_url
和 caption
数据,我只是不知道如何将该数据推送到上面的数组中。
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();