Как получить элемент из массива? - PullRequest
0 голосов
/ 18 апреля 2020

Как получить один элемент из этого?

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 ]

1 голос
/ 18 апреля 2020

Хорошо, понял.

$result3=array_column($result2, 'image_id');
echo $result3[0];
1 голос
/ 18 апреля 2020

Кажется, ваш массив содержит только object(stdClass)#3. Этот объект сам по себе является массивом, содержащим id и image_id. Вы можете получить доступ к image_id, выполнив

echo $result[0]["image_id"];
0 голосов
/ 18 апреля 2020
$myArray = array(
    '#3' => array (
        "id"=> 29595, 
        "image_id"=> "eohsidatfx8wyw5ltzt6"
    )
); 

то, что вы ищете, находится на втором уровне вашего массива. Используйте foreach l oop для итерации пар ключ / значение массивов.

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» находится на первом уровне массива, однако он выглядит как вложенный во второй слой массива, который вы пытаетесь проанализировать. $ Результат [ '# 3'] [ 'image_id'].

Если вы не уверены, напишите условие, которое просматривает первый массив, используя is_array(), если первым является значение ключа, содержащее дочерний массив. Затем снова запустите foreach l oop, чтобы найти значение ключа / пары.

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
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...