последний элемент массива php?

211
16 марта 2018, 14:59

Друзья! столкнулся с проблемой. с php на вы, поэтому обращаюсь к вам. работаю с Яндекс апи и при очередном запросе получаю ответ в виде json массива. я его декодирую и end() считываю последние значения. но вот не задача. Иногда, я пока не знаю в чем дело вылазит ошибка end() expects parameter 1 to be array, null given in Каким другим способом можно получить последний элемент массива???

Array ( [data] => Array ( [0] => Array ( [StatusReport] => Done [ReportID] => 613936 ) [1] => Array ( [ReportID] => 613939 [StatusReport] => Done ) [2] => Array ( [ReportID] => 613940 [StatusReport] => Done ) [3] => Array ( [ReportID] => 613941 [StatusReport] => Done ) [4] => Array ( [StatusReport] => Done [ReportID] => 613944 ) [5] => Array ) )

Мой код. на всякий случай:

 $result3 = curl_exec($ch); //получил ответ от сервера
curl_close($ch);
$result3 = json_decode($result3, true);
$last_element = end($result3['data']);
$last_report_id = $last_element['ReportID']; //айдишник последнего запроса
$last_status_report = $last_element['StatusReport'];//статус последнего запрос

Спасибо

Answer 1

У Вас $result3['data'] равен null. Почему? Смотрите сами

$response = curl_exec($ch); //получил ответ от сервера
curl_close($ch);
if ($response === false)
  die("Content not load");
$result3 = json_decode($response, true);
if (!isset($result3))
  die("JSON decode error. " . $response);
if (!isset($result3['data']))
  die("Element 'data' not found. " . $response);
$last_element = end($result3['data']);
Answer 2

При определенных обстоятельствах, в вашу функцию end передается значение null вместо массива. Это происходит потому, что функция json_decode() возвращает null. Это может быть связано либо с проблемой в структуре json (синтаксические ошибки и тп.), либо вы вообще не смогли получить json от сервера при curl запросе. Попробуйте провести отладку, чтобы локализовать проблему.

READ ALSO
Помогите грамотно организовать алгоритм заполнения таблицы тасками

Помогите грамотно организовать алгоритм заполнения таблицы тасками

Добрый вечер! Нужна помощь советомСитуация такая

147
постраничный вывод товаров php

постраничный вывод товаров php

Вечер добрый! Не могу разобраться, как сделать так, чтобы отображались изображения, а не только их имена, которые хранятся в бд

161
Как работает данный код на php?

Как работает данный код на php?

Не могу понять, для чего это выполняется и как это работает?

152