3 回答
TA贡献1798条经验 获得超3个赞
看来您的数组只直接包含object(stdClass)#3
. 该对象本身是一个包含id
和的数组image_id
。你可以image_id
通过做访问
echo $result[0]["image_id"];
TA贡献1856条经验 获得超5个赞
$myArray = array(
'#3' => array (
"id"=> 29595,
"image_id"=> "eohsidatfx8wyw5ltzt6"
)
);
你要找的是你的阵列的第二级。使用 foreach 循环迭代数组键/值对。
foreach($myArray as $value){
foreach($value as $key => $id){
if($key === 'image_id'){
$output = $id;// output now holds the vlaue of the key set with 'image_id'
}
}
}
如果您知道密钥的值,您还可以通过使用密钥来访问它,如下所示:$arrayname['firstlevelkey']['secondlevelkey'];
Notice: Undefined index: image_id in C:\xampp\htdocs\IGDB\moje\index.php on line 53
-->这是因为您正在定义一个数组,其中包含一个数组中不存在的键
echo $result["image_id"]--> 这里你告诉 php “image_id”在数组的第一层,然而,它看起来嵌套在你试图解析的数组的第二层。$result['#3']['image_id']。
如果您不确定,is_array()如果第一个是包含子数组的键值,则使用 编写一个条件查找第一个数组。然后再次运行 foreach 循环以查找键/对值。
foreach($arr as $values){
// do something if value is string
if(is_array($values){
foreach($values as $key => $value){
// check your second level $key/$value
}
}
}
- 3 回答
- 0 关注
- 98 浏览
添加回答
举报