(PHP) не может получить информацию, из которой я думаю, что многомерный массив получен из JSON

Я пытаюсь создать сценарий PHP, который получает погоду от Yahoo API. Я успешно импортировал данные, используя:

<?php
     $BASE_URL = "http://query.yahooapis.com/v1/public/yql";
     $yql_query = 'select * from weather.forecast where woeid in (select woeid from geo.places(1) where text="Amsterdam")';
     $yql_query_url = $BASE_URL . "?q=" . urlencode($yql_query) . "&format=json";

    // Make call with cURL
    $session = curl_init($yql_query_url);
    curl_setopt($session, CURLOPT_RETURNTRANSFER,true);
    $json = curl_exec($session);
    // Convert JSON to PHP object
    $phpObj =  json_decode($json);
    echo '<pre>';print_r($phpObj).'<pre>';

    $weather = json_decode(json_encode($phpObj->query->results->channel->item->forecast), True);

?>

Я получаю следующее из $weather при использовании print_r:

    Array
        ([0] => Array
            (
                [code] => 12
                [date] => 12 Apr 2016
                [day] => Tue
                [high] => 62
                [low] => 48
                [text] => Rain
            )

        [1] => Array
            (
                [code] => 28
                [date] => 13 Apr 2016
                [day] => Wed
                [high] => 60
                [low] => 46
                [text] => Mostly Cloudy
            )

        [2] => Array
            (
                [code] => 28
                [date] => 14 Apr 2016
                [day] => Thu
                [high] => 61
                [low] => 43
                [text] => Mostly Cloudy
            )

        [3] => Array
            (
                [code] => 47
                [date] => 15 Apr 2016
                [day] => Fri
                [high] => 57
                [low] => 48
                [text] => Scattered Thunderstorms
            )
    )

Я хочу получить [high], [low] и [text] из [0], но я не могу вывести их, не вызывая ошибки или результат будет пустым. Я искал похожие проблемы в Stackru, но ни один из них не совпадает, или я просто не понимаю / не могу понять, как использовать данный ответ.

Я надеялся, что кто-то здесь сможет мне помочь, потому что я потратил слишком много часов, пытаясь решить эту проблему.

Спасибо в уважении

1 ответ

Решение

Вы можете получить доступ к элементам из индекса массива 0 следующим образом:

echo $weather[0]['high'];     //output: 62
echo $weather[0]['low'];      //output: 48
echo $weather[0]['text'];     //output: Rain
Другие вопросы по тегам