[英]How can I access my nested array key in codeignigter?
"data": [
{
"pid": "81",
"fname": "Parth",
"lname": "Tandel",
"pfname": "Parth",
"plname": "Tandel",
"userprofilephoto": "/Images/ProfilePictures/18/DSC_0164.JPG",
"parentprofilephoto": "/Images/ProfilePictures/18/DSC_0164.JPG",
"type": "ALBUM",
"likescount": "1",
"commentscount": "1",
"sharecount": "0",
"sharepid": null,
"uaid": "18",
"ownerid": "18",
"parentid": null,
"title": "newalbum2",
"description": "",
"sharedescription": null,
"imagepath": null,
"previewurl": null,
"previewtitle": null,
"previewshortdescription": null,
"previewimageurl": null,
"createdon": "2017-05-29 15:44:04",
"posttype": "5",
"comments": [
{
"pcid": "21",
"uaid": "31",
"comment": "this is dope",
"fname": "maulik",
"lname": "kanani",
"profPicturepath": "https://www.gravatar.com/avatar/003dbb32079ee5ff19ed75476f562bd1",
"createdon": "2017-06-15 23:50:36"
}
],
"albumimages": [
{
"imagepath": "/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-36.png"
},
{
"imagepath": "/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-361.png"
},
{
"imagepath": "/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-363.png"
},
{
"imagepath": "/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-364.png"
},
{
"imagepath": "/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-365.png"
}
]
}
我的PHP代码
<?php
for ($i=0; $i < sizeof($value->albumimages); $i++)
{
$x = count($value->albumimages);
switch($x)
{
break;
default:
if($i == 0 || $i == 1)
{
echo '<div class="col-sm-6 pads5 marb10"> <img class="full" src="'.getapiPath().$imgs->imagepath.'"> </div>';
}
break;
}
}
?>
我想要albumimages-> imagepath
我认为您正在寻找的是json_decode($ data, true
);
这使json数据成为您可以使用的数组,例如var_dump($data["albumimages"])
工作示例: https : //3v4l.org/Q9lkW
要遍历链接,您可以为foreach做https://3v4l.org/9rRSF
数据为json格式,因此可以使用“ json_encode()”函数将数据转换为php对象。 此函数将json数据转换为php对象,并使用php对象运算符访问属性。
$data = json_encode('your_json_string');
//and access like this
$data[0]->albumimages
您可以像这样使用foreach循环访问“ imagepath”
//get the albumsimages
$albumimages = $data[0]->albumimages;
//then use foreach to access the imagepath like this
foreach($albumimages as $image) {
echo $image->imagepath ."\n";
}
在此处查看工作示例PHP沙箱
使用此代码
$a = json_decode('YOUR JSON STRING',true);
foreach($a['data'][0] as $key => $value){
if($key == 'albumimages'){
for($i = 0; $i < count($value); $i++){
foreach($value[$i] as $k => $v){
echo "Key: ".$k." Value: ".$v."<br/>";
}
}
}
}
输出将像这样
键:imagepath值:/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-36.png
密钥:imagepath值:/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-361.png
键:imagepath值:/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-363.png
密钥:imagepath值:/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-364.png
键:imagepath值:/Images/18/Albums/newalbum2/Screenshot_from_2017-06-12_15-11-365.png
for ($i=0; $i < sizeof($value->albumimages); $i++) {
$x = count($value->albumimages);
switch($x) {
default:
if($i == 0 || $i == 1)
{
echo '<div class="col-sm-6 pads5 marb10"> <img class="full" src="'.getapiPath().$value->albumimages[$i]->imagepath.'"> </div>';
}
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.