PHP将键插入到多维数组中

时间:2013-05-30 10:48:45

标签: php arrays object multidimensional-array array-push

我创建了一个空数组($ results),其中存储了从foreach循环中返回的数据。我为每个在数组中设置的search_tags关键字执行此操作。这一切都有效,除了我想添加标签($ tag),它已被用于从Instagram api获取数据到多维数组。

$search_tags = array(
    "tag1",
    "tag2",
    "tag3"
);

// create empty array
$results=array();

// Get all the data for the tags we are searching for and put it into an array
foreach ($search_tags as $tag) {
    $medias = $instagram->getTagMedia($tag);

    foreach ($medias->data as $media_obj) {
      array_push($results, $media_obj);
      array_push($results, $tag)
    }

}

我已尝试使用array_push执行此操作,但这会在数组之后添加标记,而不是在数组中添加,如下所示。

Array
(
    [0] => stdClass Object
        (
            [attribution] => 
            [location] => 
            [filter] => 
            [created_time] => 
            [link] => 
            [type] => 
            [id] => 
            [user] => 
        )
    [1] => tag1
    [2] => stdClass Object
        (
            [attribution] => 
            [location] => 
            [filter] => 
            [created_time] => 
            [link] => 
            [type] => 
            [id] => 
            [user] => 
        )
    [3] => tag2
    [4] => stdClass Object
        (
            [attribution] => 
            [location] => 
            [filter] => 
            [created_time] => 
            [link] => 
            [type] => 
            [id] => 
            [user] => 
        )
    [5] => tag3
)

是否有可能将标记插入到多维数组中,如下所示:

Array
(
    [0] => stdClass Object
        (
            [attribution] => 
            [location] => 
            [filter] => 
            [created_time] => 
            [link] => 
            [type] => 
            [id] => 
            [user] => 
            [tag] => tag1
        )
    [2] => stdClass Object
        (
            [attribution] => 
            [location] => 
            [filter] => 
            [created_time] => 
            [link] => 
            [type] => 
            [id] => 
            [user] => 
            [tag] => tag2
        )
    [4] => stdClass Object
        (
            [attribution] => 
            [location] => 
            [filter] => 
            [created_time] => 
            [link] => 
            [type] => 
            [id] => 
            [user] => 
            [tag] => tag3
        )
)

1 个答案:

答案 0 :(得分:1)

试试这个:

// Get all the data for the tags we are searching for and put it into an array
foreach ($search_tags as $tag) {
    $medias = $instagram->getTagMedia($tag);

    foreach ($medias->data as $media_obj) {
      $media_obj->tag = $tag;
      array_push($results, $media_obj);
    }

}
相关问题