簡體   English   中英

PHP,如果其他條件不起作用

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

Php開關聲明

您可以創建函數,而無需使用if / elseswitch語句

<?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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM