如何从中获取单个元素?
array(1) { [0]=> object(stdClass)#3 (2) { ["id"]=> int(29595) ["image_id"]=> string(20) "eohsidatfx8wyw5ltzt6" } }
我需要分隔“ image_id”。怎么做?我尝试过
echo $result["image_id"]
但它不起作用:
Notice: Undefined index: image_id in C:\xampp\htdocs\IGDB\moje\index.php on line 53
答案 0 :(得分:1)
似乎您的数组仅直接包含object(stdClass)#3
。该对象本身是一个包含id
和image_id
的数组。您可以通过以下方式访问image_id
echo $result[0]["image_id"];
答案 1 :(得分:1)
好,知道了。
$result3=array_column($result2, 'image_id');
echo $result3[0];
答案 2 :(得分:0)
$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
}
}
}