简体   繁体   中英

How to get element from array?

How to get single element from this?

array(1) { [0]=> object(stdClass)#3 (2) { ["id"]=> int(29595) ["image_id"]=> string(20) "eohsidatfx8wyw5ltzt6" } }

I need to separate "image_id". How to do it? I tried

echo $result["image_id"]

but it doesn't work:

Notice: Undefined index: image_id in C:\xampp\htdocs\IGDB\moje\index.php on line 53

It seems your array only directly contains object(stdClass)#3 . This object is itself an array containing id and image_id . You can access image_id by doing

echo $result[0]["image_id"];

Ok, got it.

$result3=array_column($result2, 'image_id');
echo $result3[0];
$myArray = array(
    '#3' => array (
        "id"=> 29595, 
        "image_id"=> "eohsidatfx8wyw5ltzt6"
    )
); 

what you are looking for is in the second level of your array. Use a foreach loop to iterate of the arrays key/value pairs.

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'
          }
     }
}

If you know the value of the key, you can also access this by using the keys like so: $arrayname['firstlevelkey']['secondlevelkey'];

Notice: Undefined index: image_id in C:\xampp\htdocs\IGDB\moje\index.php on line 53

--> This is because you are defining an array with a key that does not exist in the array

echo $result["image_id"] --> here you are telling php that "image_id" is on the first level of the array, however, it looks to be nested in the second layer of the array you are trying to parse. $result['#3']['image_id'].

If you are not sure, write a conditional that looks in the first array using is_array() , if the first is a key value holding a child array. Then run the foreach loop again to look for the key/pair value.

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
        }
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM