Я не могу пройти через Json с коллекциями Cakephp, чтобы извлечь «только» последние массивы - PullRequest
0 голосов
/ 03 мая 2019

У меня есть JSON (https://api.myjson.com/bins/us5f4). Я пытался просмотреть массив и извлечь «только» последние массивы, которые находятся в разделе «Obs» в моем JSON, вот изображение JSON что мне нужно извлечь: https://imgur.com/XfHCm1N

Я не понимаю, как я могу выполнить "пока" операции с методами коллекций CakePHP, я попытался объединить -> extract и -> last методы, и он показывает только последний массив, но мне нужно, чтобы это было рекурсивно, так что я могу извлечь все последние 18 массивов. Это код, который у меня был до сих пор:

$series = $xmlArray['StructureSpecificData']['message:DataSet']['Series'];

$allYears = collection($series)->extract('Obs');

$lastYears = $allYears->last();

1 Ответ

0 голосов
/ 06 мая 2019

Функция extract может принимать функцию в качестве параметра:

$allYears = collection($series)->extract(function ($s) {
    $last = end($s['Obs']);
    return $last['@OBSVALUE'];
})->toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...