如何从数组中获取元素?

时间:2020-04-18 19:45:17

标签: php html arrays json

如何从中获取单个元素?

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

3 个答案:

答案 0 :(得分:1)

似乎您的数组仅直接包含object(stdClass)#3。该对象本身是一个包含idimage_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
        }
    }
}