Php 在foreach循环中合并对象
我需要合并从foreach循环返回的对象。下面是返回对象的示例。我到处找,找不到这个问题的任何具体答案 这是我的foreach循环Php 在foreach循环中合并对象,php,Php,我需要合并从foreach循环返回的对象。下面是返回对象的示例。我到处找,找不到这个问题的任何具体答案 这是我的foreach循环 foreach ( $instagram_basic->data as $media ) { $media_id = $media->id; $instagram_basic_data_array['data'] = 'https://graph.instagram.com/$media_id ...; $
foreach ( $instagram_basic->data as $media ) {
$media_id = $media->id;
$instagram_basic_data_array['data'] = 'https://graph.instagram.com/$media_id ...;
$instagram_basic_media_response = $this->fts_get_feed_json( $instagram_basic_data_array );
$instagram_basic_media = json_decode( $instagram_basic_media_response['data'] );
print_r( $instagram_basic_media );
}
以下是使用print\r时的结果。注意:返回的对象总是超过2个,下面我只添加了2个作为示例
stdClass Object
(
[caption] => Arcade1Up Plexiglass cover installed!
[id] => 17914463977383922
)
stdClass Object
(
[caption] => #ninamilesmacey
[id] => 17907886372351359
)
我希望最终结果是这样的
stdClass Object
(
[data] => Array
(
[0] => stdClass Object
(
[caption] => Arcade1Up Plexiglass cover installed!
[id] => 17914463977383922
)
[1] => stdClass Object
(
[caption] => #ninamilesmacey
[id] => 17907886372351359
)
)
)
也许有一种更有效的方法可以让我在解码之前合并数组?感谢您的帮助。如果您在循环之前创建了数据的基础,然后在进行过程中添加每个项目,这将为您提供所需的输出
$output = (object)['data' => []];
foreach ( $instagram_basic->data as $media ) {
// Other code here
$output->data[] = $instagram_basic_media ;
}
如果您通过传递第二个参数TRUE进行json_解码,对象将转换为数组,您可以使用数组合并函数来合并这些数组。非常感谢!如何保留stdClass对象([data]=>Array(…返回开始时的部分)?不确定您的意思,
print\r($output);
应该显示所有结构。是的,只需删除我的print\r上的->data部分。再次感谢您!