не может получить полный список имен из нескольких массивов - PullRequest
0 голосов
/ 12 июня 2018

Example data

Данные API, Вот мой код, пытающийся получить полный список имен из вышеуказанных массивов:

<?php
    $url = "www.com" ;
    $str= file_get_contents($url);
    $arr = json_decode($str,true);

   for($i=1; $i<count($arr); $i++) {
      echo $arr["data"][$i]["name"];
   };
?> 

, но я могуполучить только имя "Jonia", но не все: (

Кто-нибудь может помочь? Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Вместо использования:

for($i=1; $i<count($arr); $i++) {
   echo $arr["data"][$i]["name"];
};

Я бы использовал встроенный в PHP array_column():

$listOfNames = array_column($arr["data"], "name");

, который будет делать именно то, что вы хотитеи собрать список имен для вас в массиве.

В качестве альтернативы, вы можете перебрать код с помощью foreach():

foreach($arr["data"] as $val){
    echo $val;
}
0 голосов
/ 12 июня 2018

Вам необходимо получить доступ к каждому ключу со значением 1, 27, 52, ..., которое не в последовательности.Итак, вы можете получить ключи объекта data, а затем перебрать все ключи этого объекта, например $arr["data"]['1']["name"], $arr["data"]['27']["name"] и т. Д.

<?php
  $url = "www.com" ;
  $str= file_get_contents($url);
  $arr = json_decode($str,true);

  foreach($arr["data"] as $key=>$val){
    echo $arr["data"][$key]["name"];
  }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...