第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何編寫PHP三元運算符

如何編寫PHP三元運算符

PHP
富國滬深 2019-08-08 17:02:51
如何編寫PHP三元運算符如何使用elseif部分編寫PHP三元運算符?我看到的基本實施例if和else類似這樣的PHP三元運算符的部分:echo (true)  ? "yes" : "no";    //prints yesecho (false) ? "yes" : "no";    //prints no如何將這樣的“elseif”部分輸入三元運算符?<?php   if($result->vocation == 1){    echo "Sorcerer";   }else if($result->vocation == 2){    echo 'Druid';  }else if($result->vocation == 3){    echo 'Paladin';  }else if($result->vocation == 4){    echo 'Knight';  }else if($result->vocation == 5){    echo 'Master Sorcerer';  }else if($result->vocation == 6){    echo 'Elder Druid';  }else if($result->vocation == 7){    echo 'Royal Paladin';  }else{    echo 'Elite Knight';  }?>
查看完整描述

3 回答

?
呼喚遠(yuǎn)方

TA貢獻1856條經(jīng)驗 獲得超11個贊

三元不是你想要的好解決方案。它在您的代碼中是不可讀的,并且有更好的解決方案可用。

為什么不使用數(shù)組查找“map”或“dictionary”,如下所示:

$vocations = array(
    1 => "Sorcerer",
    2 => "Druid",
    3 => "Paladin",
    ...);echo $vocations[$result->vocation];

這個應(yīng)用程序的三元組最終看起來像這樣:

echo($result->group_id == 1 ? "Player" : ($result->group_id == 2 ? "Gamemaster" : ($result->group_id == 3 ? "God" : "unknown")));

為什么這么糟糕?因為 - 作為單個長行,如果出現(xiàn)問題,你將得不到有效的調(diào)試信息,長度使得難以閱讀,加上多個三元組的嵌套只是感覺很奇怪。

標(biāo)準(zhǔn)三元版本簡單易讀,看起來像這樣:

$value = ($condition) ? 'Truthy Value' : 'Falsey Value';

要么

echo ($some_condition) ? 'The condition is true!' : 'The condition is false.';

三元組實際上只是編寫簡單if else語句的一種方便/簡短的方法。以上樣本三元與以下相同:

if ($some_condition) {
    echo 'The condition is true!';} else {
    echo 'The condition is false!';}

然而,復(fù)雜邏輯的三元組很快變得難以理解,不再值得簡潔。

echo($result->group_id == 1 ? "Player" : ($result->group_id == 2 ? "Gamemaster" : ($result->group_id == 3 ? "God" : "unknown")));

即使有一些細(xì)心的格式將其分散到多行,也不是很清楚:

echo($result->group_id == 1 
    ? "Player" 
    : ($result->group_id == 2 
        ? "Gamemaster" 
        : ($result->group_id == 3 
            ? "God" 
            : "unknown")));


查看完整回答
反對 回復(fù) 2019-08-08
?
達(dá)令說

TA貢獻1821條經(jīng)驗 獲得超6個贊

由于這是一項常見任務(wù),我建議在函數(shù)調(diào)用中包裝一個開關(guān)/案例。

function getVocationName($vocation){
    switch($vocation){
        case 1: return "Sorcerer"; break;
        case 2: return 'Druid'; break;
        case 3: return 'Paladin'; break;
        case 4: return 'Knight'; break;
        case 5: return 'Master Sorcerer'; break;
        case 6: return 'Elder Druid'; break;
        case 7: return 'Royal Paladin'; break;
        default: return 'Elite Knight'; break;
    }}echo getVocationName($result->vocation);


查看完整回答
反對 回復(fù) 2019-08-08
?
弒天下

TA貢獻1818條經(jīng)驗 獲得超8個贊

echo ($result ->vocation == 1) ? 'Sorcerer'
        : ($result->vocation == 2) ? 'Druid'
           :  ($result->vocation == 3) ? 'Paladin'
                    ....;


查看完整回答
反對 回復(fù) 2019-08-08
  • 3 回答
  • 0 關(guān)注
  • 358 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號