[英]php if else condition not working
$user_ip = getenv('REMOTE_ADDR');
$geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip"));
$city = $geo["geoplugin_city"];
$region = $geo["geoplugin_regionName"];
$country = $geo["geoplugin_countryName"];
$continent = $geo["geoplugin_continentCode"];
$continent1 = $continent;
echo "IP: " .$user_ip. "<br>";
echo "City: " .$city. "<br>";
echo "Region: " .$region. "<br>";
echo "Country: " .$country. "<br>";
echo "Continent: " .$continent1. "<br>";
該代碼用於獲取IP和位置詳細信息。
在這里,我的問題是,我正在成為AS,EU,NA,SA等大洲
我需要將AS更改為亞洲,將EU更改為歐洲,將NA更改為北美,將SA更改為南美。 如何為此使用if else
條件?
嘗試這個 -
switch ($continent1) {
case "AS":
$continent1 = 'Asia';
break;
case "EU":
$continent1 = 'Europe';
break;
case "NA":
$continent1 = 'North America';
break;
default:
$continent1 = '';
}
如果數據庫中沒有此內容,則可以嘗試以下操作:
$arr_continent = array('AS'=>'Asia','EU'=>'Europe','NA'=>'North America','SA'=>'South America');
echo "Continent: " .$arr_continent[$continent1]. "<br />";
比switch語句整潔得多! ;)
switch ($continent)
{
case "AS":
$continent1 = 'Asia';
break;
case "EU":
$continent1 = 'Europe';
break;
case "NA":
$continent1 = 'North America';
break;
// rest of codes
}
您可以創建函數,而無需使用if / else或switch語句
<?php
function get_continent($continent_name){
$arr = array(
"AS" => 'Asia',
"EU" => 'Europe',
"NA" => 'North America',
"SA" => 'South America'
// and define more keys and value pair of continent short and full name
);
return ($arr[$continent_name]!="") ? $arr[$continent_name] : "N/A" ;
}
echo get_continent("EU");
// output - Europe
?>
如果您需要一次又一次地執行類似的任務,此代碼還將提高重用能力
您可以在$continent1
變量上使用switch方法將值替換為所需的值
switch($continent1)
{
case 'AS':
echo "Continent: Asia";
break;
case 'EU':
echo "Continent: Europe";
break;
case 'NA':
echo "Continent: North America";
break;
case 'SA':
echo "South America";
break;
default:
echo "nothing matched"
break;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.