2014-09-20 25 views
0

我想學習PHP來自一些非常基本的Java經驗,但我對PHP中的變量感到困惑,並且在相同的腳本中被重用。我有下面的代碼,即使我有多個值的某些變量,如$ url,$ curl,$ resp,這是否正常工作?腳本是否正在執行?PHP腳本可以重用相同的變量嗎?

<?php 



$zip = $_GET["ziphtml"]; 

$url = "http://api.wunderground.com/api/4339efkeyf17a9/forecast10day/q/19115.json"; 


$curl = curl_init(); 
$curl = curl_init(); 
// Set some options - we are passing in a useragent too here 
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_URL => $url, 
    CURLOPT_USERAGENT => 'Codular Sample cURL Request' 
)); 
// Send the request & save response to $resp 
$resp = curl_exec($curl); 
// Close request to clear up some resources 
curl_close($curl); 



$json_string = $resp; 
$parsed_json = json_decode($json_string); 
    $forecastp2 = $parsed_json->{'forecast'}->{'txt_forecast'}->{'forecastday'}[1]->{'title'}; 
    $forecastp3 = $parsed_json->{'forecast'}->{'txt_forecast'}->{'forecastday'}[2]->{'title'}; 
    $forecastp4 = $parsed_json->{'forecast'}->{'txt_forecast'}->{'forecastday'}[3]->{'title'}; 
    $forecastp5 = $parsed_json->{'forecast'}->{'txt_forecast'}->{'forecastday'}[4]->{'title'}; 
     $forecastp6 = $parsed_json->{'forecast'}->{'txt_forecast'}->{'forecastday'}[5]->{'title'}; 
     $forecastp7 = $parsed_json->{'forecast'}->{'txt_forecast'}->{'forecastday'}[6]->{'title'}; 





    $zip = $_GET["ziphtml"]; 

$url = "http://api.wunderground.com/api/4dgg345353vdryteyfg339ekey7a9/geolookup/conditions/q/IA/".$zip.".json"; 

$curl = curl_init(); 
$curl = curl_init(); 
// Set some options - we are passing in a useragent too here 
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_URL => $url, 
    CURLOPT_USERAGENT => 'Codular Sample cURL Request' 
)); 
// Send the request & save response to $resp 
$resp = curl_exec($curl); 
// Close request to clear up some resources 
curl_close($curl); 

$json_string = $resp; 
$parsed_json = json_decode($json_string); 
    $location = $parsed_json->{'current_observation'}->{'display_location'}->{'city'}; 
    $temp_f = $parsed_json->{'current_observation'}->{'temp_f'}; 
    echo "Current temperatdure in ${location} is: ${temp_f}\n<br /> and it is now ${forecastp2}\n<br /> and then it will be ${forecastp3}\n<br /> and then ${forecastp4}\n<br />and then ${forecastp5}\n<br />and then ${forecastp6}\n<br />and then ${forecastp7}"; 




    ?> 

回答

3

它只是被覆蓋。

Java的確如此,但是Java檢查類型,所以你不能自由地重新賦值。

+0

謝謝。我想下一個合乎邏輯的問題是做這件事的正確方法是什麼?這樣做是「OK」還是應該使用新的不同變量? – user2941841 2014-09-20 23:05:33

+1

變量名稱應該表示變量本身的用途/用法,所以我建議不要使用太泛化或基本上無意義的變量名稱,並且不要將相同的變量用於不相關的目的。 – 2014-09-20 23:09:28

1

變量是內存中位置的名稱。當您在該位置存儲新值時,舊值將丟失,現在該名稱將引用新值。

相關問題