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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

PHP Switch case 不起作用。字符串比較

PHP Switch case 不起作用。字符串比較

PHP
不負(fù)相思意 2022-10-14 15:54:39
我不明白為什么我的開關(guān)盒不起作用。這是我的簡單代碼:public static function getToolTip(){        $stringCode = "en";        switch ($stringCode){            case ("de" || "DE"):                return self::VELOCCI_DE['tooltip'];                break;            case ("en" || "EN"):                return self::VELOCCI_EN['tooltip'];                break;            case ("fr" || "FR"):                return self::VELOCCI_FR['tooltip'];                break;            case ("es" || "ES"):                return self::VELOCCI_ES['tooltip'];                break;            case ("in" || "IN"):                return self::VELOCCI_IN['tooltip'];                break;            default:                return "";        }    }它總是從德語常量返回工具提示。當(dāng)我僅在第一種情況下添加回聲時(shí),它會(huì)觸發(fā)多次。
查看完整描述

4 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

首先,("en" || "EN")在 case 語句評(píng)估為布爾值,在你的情況下 PHP 的 switch case 不能像這樣工作case ('dn' || 'DN'):


其次,在您的代碼中,在break之后有一個(gè)不可訪問的return,換句話說,您不需要在break之后放置,return因此正確的代碼將是這樣的


public static function getToolTip(){

    $stringCode = "en";

    switch ($stringCode){

        case 'de':

        case 'DE':

            return self::VELOCCI_DE['tooltip'];


        case 'en':

        case 'EN':

            return self::VELOCCI_EN['tooltip'];


        case 'fr':

        case 'FR':

            return self::VELOCCI_FR['tooltip'];


        case 'es':

        case 'ES':

            return self::VELOCCI_ES['tooltip'];


        case 'in':

        case 'IN':

            return self::VELOCCI_IN['tooltip'];


        default:

            return '';

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-10-14
?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

在php中我們使用或這樣的情況


           case "de":

           case "DE":

                return self::VELOCCI_DE['tooltip'];

                break;

           case "en":

           case "EN":

                return self::VELOCCI_EN['tooltip'];

                break;


查看完整回答
反對(duì) 回復(fù) 2022-10-14
?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊

我將使用參數(shù)設(shè)置此方法,如下所示,并更改名稱$stringCode:


public static function getToolTip(string $languageCode = 'EN'){

}

在哪里$languageCode替換$stringCode = "en";您的原始方法。


如果您不想要默認(rèn)參數(shù),可以將其設(shè)置為null; 也為了減少案例的數(shù)量,您可以case以一致的方式測(cè)試每個(gè)案例,例如:


public static function getToolTip(string $languageCode = NULL){

    $languageCode = strtoupper($languageCode);

    ## Rest of your code from here

}

所以測(cè)試使用strtoupper看起來像:


public static function getToolTip(string $languageCode = 'EN'){

    switch (strtoupper($languageCode)){


        case 'DE':

            return self::VELOCCI_DE['tooltip'];


        case 'EN':

            return self::VELOCCI_EN['tooltip'];


        case 'FR':

            return self::VELOCCI_FR['tooltip'];


        case 'ES':

            return self::VELOCCI_ES['tooltip'];


        case 'IN':

            return self::VELOCCI_IN['tooltip'];


        default:

            return '';

    }

}

來源:PHP:strtoupper


查看完整回答
反對(duì) 回復(fù) 2022-10-14
?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

請(qǐng)注意,開關(guān)/外殼進(jìn)行松散比較(來自手冊(cè))。


var_dump('en' == ('de' || 'DE'));結(jié)果bool(true)。


所以你的第一個(gè)案例總是令人滿意的。(對(duì)于除 '0' 或空字符串之外的任何字符串輸入都相同。)


某種映射在這里可能更容易:


<?php


class Texts

{

    const VELOCCI_DE = ['tooltip' => 'Actung'];

    const VELOCCI_EN = ['tooltip' => 'Attention'];


    public static function getToolTip($code)

    {

        $code = strtolower($code);


        return [

            'de' => self::VELOCCI_DE['tooltip'],

            'en' => self::VELOCCI_EN['tooltip'],

        ][$code] ?? '';

    }

}


echo Texts::getToolTip('en');

輸出:


Attention

然而,這可能會(huì)很快變得笨拙。如果您有多個(gè)鍵和翻譯要處理怎么辦?


查看完整回答
反對(duì) 回復(fù) 2022-10-14
  • 4 回答
  • 0 關(guān)注
  • 257 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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