【发布时间】:2015-02-26 14:30:04
【问题描述】:
这可能是一个简单的问题。在 php 中,我查询数据库,然后将值推送到数组中,然后将其推送到多维数组中。但是当我将这些值推入数组时,如何命名键?我不只是想要默认编号的键,我想要命名键。
php:
$instagram_url = 'https://api.instagram.com/v1/tags/user/media/recent/?client_id=client_id';
$instagram_json = file_get_contents($instagram_url);
$instagram_array = json_decode($instagram_json, true);
$allourlikes = [];
if(!empty($instagram_array)){
foreach($instagram_array['data'] as $key => $value){
foreach($value['likes']['data'] as $k => $likes){ //find out if *we* liked it
$ourlikes = [];
//echo $likes['username'];
if ($likes['username'] == 'ourusername') {
array_push($ourlikes, 'url' => $value['images']['standard_resolution']['url'], 'caption' => $value['caption']['text'], 'link' => $value['link'], 'user' => $value['user']['username']); //doesn't work
}
array_push($allourlikes, $ourlikes);
}
}
}
echo json_encode($allourlikes);
【问题讨论】:
-
你不能用 array_push() 指定一个键......但为什么不直接做
$allourlikes['myNewKey'] = $ourlikes; -
@Mark Baker:我想命名 $ourlikes 中的每个键,而不是 $allourlikes。
-
原理依然适用:array_push() 不允许命名键;但是
$ourlikes['myNewKey'] = 'myNewValue';会起作用 -
另一种方法是使用带有命名属性的 stdClass 对象
标签: php instagram-api