php
  • arrays
  • json
  • multidimensional-array
  • yahoo-weather-api
  • 2016-04-12 17 views 1 likes 
    1

    Yahoo APIから天気を取得するPHPスクリプトを作成しようとしています。私は正常に使用してデータをインポート: (PHP)はJSONから受け取った多次元配列の情報を取得できません

    <?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); 
    
    ?> 
    

    I取得するには、次の$天候の外に使用します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 
          ) 
        ) 
    

    [高]、[低]と[テキスト]から[ 0]、しかし、私はエラーや結果が空ではなく、それらを得ることができません。私はStackoverflowで同様の問題を探しましたが、どれも同じではない、または私はちょうど理解していない/与えられた答えを使用する方法を見つけることができません。

    私はこれを解決しようとするには長すぎる時間を費やしたので、ここの誰かが私を助けてくれることを望んでいました。あなたは、このように配列のインデックス0からの要素にアクセスすることができます

    答えて

    3

    点で

    ありがとう:

    echo $weather[0]['high'];  //output: 62 
    echo $weather[0]['low'];  //output: 48 
    echo $weather[0]['text'];  //output: Rain 
    
    関連する問題