Доступ к элементам из массива PHP - PullRequest
1 голос
/ 24 апреля 2020

Я пытаюсь получить доступ к свойству ChatId, которое возвращается в команде curl_exe c переменной server_output.

$server_output = curl_exec($ch);
$output = json_decode($server_output, true);

После этого я попытался запустить:

var_dump(get_object_vars($output));

Но $ output на самом деле является массивом, а не объектом. Поэтому, когда я запускаю var_dump ($ output), я получаю вывод:

array(1) {
  ["Chats"]=>
  array(1) {
    [0]=>
    array(1) {
      ["Chat"]=>
      array(3) {
        ["ChatId"]=>
        int(11845)
        ["UserId"]=>
        string(16) "d9729feb63a1a015"
        ["SystemId"]=>
        string(33) "d9729feb63a1a015~434534343"
      }
    }
  }
}

Единственное свойство, к которому я хочу получить доступ, это свойство ChatId, но у меня возникают трудности при этом.

1 Ответ

2 голосов
/ 24 апреля 2020

Для дальнейшего использования каждый массив (x) открывает новый уровень элементов, где x - это количество элементов на этом уровне. Поэтому, если мы хотим удалить их и подумать о структуре, похожей на структуру каталогов, мы получим следующее:

$output
--->["Chats"]
    ---> [0]
         ---> ["Chat"]
             ---> ["ChatId"]
             ---> ["UserId"]
             ---> ["SystemId"]

Так что, если бы ChatId был файлом, который вы хотели бы получить, сначала нужно было бы go в каталог "Чаты", затем [0], затем ["Чат"], а затем вы можете выбрать нужный файл.

Итак

 $output["Chats"][0]["Chat"]["UserId"]

Надеюсь, это поможет вам в будущем при работе с массивами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...