2017-05-06 31 views
-2

我正在嘗試將JSON結果的內容導入到php變量中。我使用的代碼是:將json解碼爲php變量

$request = json_decode(file_get_contents("https://api.sunrise-sunset.org/json?lat=51.507351&lng=-0.127758&date=today"), true); 

的JSON調用的輸出是這樣的:

array(2) { 
    ["results"]=> array(10) { 
     ["sunrise"]=> string(10) "4:21:35 AM" 
     ["sunset"]=> string(10) "7:32:34 PM" 
     ["solar_noon"]=> string(11) "11:57:04 AM" 
     ["day_length"]=> string(8) "15:10:59" 
     ["civil_twilight_begin"]=> string(10) "3:42:08 AM" 
     ["civil_twilight_end"]=> string(10) "8:12:01 PM" 
     ["nautical_twilight_begin"]=> string(10) "2:49:55 AM" 
     ["nautical_twilight_end"]=> string(10) "9:04:14 PM" 
     ["astronomical_twilight_begin"]=> string(10) "1:41:12 AM" 
     ["astronomical_twilight_end"]=> string(11) "10:12:57 PM" 
     } 
     ["status"]=> string(2) "OK" 
} 

我怎樣才能獲得「日出」時間和「日落」時間到PHP變量$ SunRiseTime和$ SunSetTime;

非常感謝您的時間。

+0

'回波json_decode($ JSON,真) 「的結果」] [ 「日出」];'和'回波json_decode($ JSON,真) [「results」] [「sunset」];' –

+0

http://stackoverflow.com/q/43673876/6521116 –

回答

1

簡單和直接。

<?php 
ini_set('display_errors', 1); 

$json = file_get_contents("https://api.sunrise-sunset.org/json?lat=51.507351&lng=-0.127758&date=today"); 
$array=json_decode($json,true); 

echo $SunRiseTime=$array["results"]["sunrise"]; 
echo $SunSetTime=$array["results"]["sunset"]; 

輸出:4:21:35 AM7:32:34 PM

+0

完美,這就是我所需要的。非常感謝所有答覆。 – DCJones

+0

@DCJones歡迎... :) –

+0

我會盡快讓系統讓我,謝謝。 – DCJones

0

使用$$定義php動態變量。如果你想靜態定義一個變量,直接賦值給它。

動態,

$name = 'SunRise'; 
$$name = $array["results"]["sunrise"]; 

靜態名稱,

$SunRise = $array["results"]["sunrise"]; 
+2

爲什麼不直接使用'$ SunRise'? – inarilo

+0

因爲這可能是動態的。如果這是靜態的,你是對的。 –

+1

似乎是靜態的 – inarilo

0
$SunRiseTime = $request['results']['sunrise']; 
$SunSetTime = $request['results']['sunset'];