Jump to content

[SOLVED] Quick fix: Conditional statement with an array


onceinabluemoon2

Recommended Posts

Hi, I'm getting the temperature value off of the Environment Canada website along with the icon filename, so I can display my own icons and temperature on my site. All this works and I can display the temperature but my conditional statements aren't working to display my icons. I'm new to PHP and I don't see why this is a problem:

<?php  
$url = "http://www.weatheroffice.gc.ca/city/pages/on-69_metric_e.html";  
$ch = curl_init();//Initialise CURL  
curl_setopt($ch, CURLOPT_URL, $url);//Set the url  
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);//We want it to return data  
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 100);//Of course, we don't want your script to run forever, so set a timeout  
$text = curl_exec($ch);//Execute and get the page  

$exploded = explode('<p class="temperature">',$text);//Make an array of the part before and after the <title> tag  
$result = explode('<sup>',$exploded[1]);//Grab the part after the <title> tag, and split that too  

$exploded2 = explode('<img id="currentimg" src="/weathericons/',$text);//Make an array of the part before and after the <title> tag  
$result2 = explode('.gif"',$exploded2[1]);//Grab the part after the <title> tag, and split that too  

curl_close($ch);//Close cURL  

if($result2[0] < "02"){
	echo "<img src=\"images/weather/00.gif\" alt=\"Sunny\">";
}
if(($result2[0] > "01") && ($result2[0] < "09")) {
	echo "<img src=\"images/weather/01.gif\" alt=\"Cloudy with chance of showers\">";
}
if($result2[0] == "09" || $result2[0] == "19" || $result2[0] == "39") {
	echo "<img src=\"images/weather/03.gif\" alt=\"Storm\">";
}
if(($result2[0] > "9" && $result2[0] < "9") || ($result2[0] > "19" && $result2[0] < "25") || ($result2[0] > "26" && $result2[0] < "30") || ($result2[0] > "31" && $result2[0] < "39")) {
	echo "<img src=\"images/weather/02.gif\" alt=\"Cloudy with chance of showers\">";
}
if(($result2[0] > "24" && $result2[0] < "27") || ($result2[0] > "29" && $result2[0] < "32") || ($result2[0] > "39") {
	echo "";
}
else{
	echo "";
}
echo $result[0];//Echo the result 
?>  

 

Haha sorry I posted the wrong code. I'm trying to do number comparison. The filename is a two digit number but is taken as a string and I need to convert that string to a number PHP can use.

 

Here is what I meant:

 

<?php  
$url = "http://www.weatheroffice.gc.ca/city/pages/on-69_metric_e.html";  
$ch = curl_init();//Initialise CURL  
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 100);
$text = curl_exec($ch);//Execute and get the page  

$exploded = explode('<p class="temperature">',$text);
$result = explode('<sup>',$exploded[1]);

$exploded2 = explode('<img id="currentimg" src="/weathericons/',$text);
$[color=red]result2[/color] = explode('.gif"',$exploded2[1]);

curl_close($ch);//Close cURL  

[color=red]$result2[0] = $num;[/color]

if($num < 2){
	echo "<img src=\"images/weather/00.gif\" alt=\"Sunny\">";
}
if(($num > 1) && ($num < 9)) {
	echo "<img src=\"images/weather/01.gif\" alt=\"Cloudy with chance of showers\">";
}
if($num == 9 || $num == 19 || $num == 39) {
	echo "<img src=\"images/weather/03.gif\" alt=\"Storm\">";
}
if(($num > 9 && $num < 9) || ($num > 19 && $num < 25) || ($num > 26 && $num < 30) || ($num > 31 && $num < 39)) {
	echo "<img src=\"images/weather/02.gif\" alt=\"Cloudy with chance of showers\">";
}
if(($num > 24 && $num < 27) || ($num > 29 && $num < 32) || ($num > 39) {
	echo "";
}
else{
	echo "";
}
echo $result[0];//Echo the temperature
?>  

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.