我使用Instagram软件包vinkla将用户数据提供给我的应用程序。
这是我用来获得结果的代码:
public function instagram()
{
$insta = new Instagram();
$getUser = $insta->get('gopro');
dd($getUser);
}
当我转换结果时,我得到这个数组返回:
array:20 [▼
0 => {#205 ▼
+"id": "1552323772757218591_28902942"
+"code": "BWK9j8rlpUf"
+"user": {#208 ▶}
+"images": {#202 ▼
+"thumbnail": {#203 ▶}
+"low_resolution": {#214 ▶}
+"standard_resolution": {#204 ▼
+"width": 640
+"height": 640
+"url": "https://scontent-frt3-1.cdninstagram.com/t51.2885-15/s640x640/sh0.08/e35/19624693_104174916895493_9107740182827761664_n.jpg"
}
}
+"created_time": "1499271435"
+"caption": {#207 ▶}
+"likes": {#215 ▶}
+"comments": {#222 ▶}
+"can_view_comments": true
+"can_delete_comments": false
+"type": "image"
+"link": "https://www.instagram.com/p/BWK9j8rlpUf/"
+"location": {#223 ▶}
+"alt_media_url": null
}
1 => {#224 ▶}
2 => {#251 ▶}
3 => {#278 ▶}
]
现在我想要解决的问题是:我想在我的laravel应用程序上集成一些图像。 基本上我想从每个数组images->standard_resolution->url
获取图像images->standard_resolution->url
。
我试图重复双数组foreach
至今没有运气。
关于如何实现这一点的任何建议?
使用laravel 集合中的 map
将简单地获取网址
$data = collect($getUser)->map(function($v) {
return $v->images->standard_resolution->url;
});
你也可以使用foreach
$urls = [];
foreach ($getUser as $row) {
array_push($urls, $row->images->standard_resolution->url);
}
dd($urls);
嗨,你可能会得到数组中的结果,你可以将数组转换为集合,laravel中有一个很好的帮手
$yourCollection = collect(yourArray);
那么你可以在Eloquent上应用与Collection相同的查询,也可以应用foreach循环。
编辑2
你也可以这样做
$yourArray = json_decode($getUser,true);
你可以在它上面应用一个循环。
@foreach($yourArray as $arr){
//do what ever you want to do with
$arr['standard_resolution']['url'];
}
我希望这有帮助。