[英]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.