steelthunder
steelthunder

Reputation: 438

Can a PHP script reuse the same variable?

I am trying to learn PHP coming from some very basic Java experience but I am confused about variables in PHP and being reused in the same script. I have the below code which works without issue somehow even though I have multiple values for certain variables such as $url,$curl,$resp how is this working? Is it just being over written as the script executes?

<?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}";




  ?>

Upvotes: 0

Views: 271

Answers (2)

Peter Pei Guo
Peter Pei Guo

Reputation: 7870

It is just overwritten.

Java does the same, but Java checks type, so you cannot reassign values as freely.

Upvotes: 3

Bob Brown
Bob Brown

Reputation: 1502

A variable is a name for a location in memory. When you store a new value in that location, the old value is lost and the name now refers to the new value.

Upvotes: 1

Related Questions