已知键时从关联数组返回键的值

因此,如果键存在于数组中,我试图回显键的值。我现在已经使用了这段代码:


<?php

    $lingos = array(

        "en"=>"en_US", 

        "en-gb"=>"en_GB", 

        "nl"=>"nl_NL", 

        "de"=>"de",

        "da"=>"da",

        "es"=>"es",

        "ca"=>"es_MX",

        "fr"=>"fr",

        "it"=>"it",

        "pt-pt"=>"pt_PT",

        "no"=>"no",

        "sv"=>"sv",

        "fi"=>"fi",

        "et"=>"en_GB",

        "is"=>"en_GB",

        "cs"=>"cs",

        "pl"=>"pl",

        "lv"=>"en_GB",

        "lt"=>"lt",

        "hu"=>"hu",

        "ro"=>"ro",

        "sr"=>"en_GB",

        "hr"=>"en_GB",

        "bg"=>"bg",

        "el"=>"el",

        "uk"=>"en_GB",

        "ru"=>"ru",

        "tr"=>"tr",

        "ar"=>"ar",

        "zh-hans"=>"zh_CN",

        "zh-hant"=>"zh_TW",

        "ja"=>"ja",

        "ko"=>"ko",

        "id"=>"in",

        "ms"=>"ms",

        "th"=>"th",

        "vi"=>"vi",

        "pt-br"=>"pt_PT"

    );


    // foreach($lingos as $lingo => $x_lingo) {

    //     echo "Key=" . $lingo . ", Value=" . $x_lingo;

    //     echo "<br>";

    // }



    $wmpl_langcode = ICL_LANGUAGE_CODE;

    echo $wmpl_langcode;

    if (array_key_exists($wmpl_langcode, $lingos)) {

        echo $lingos[1];

    } else {

        echo "not found";

    }

?>

问题是,$lingos[1] 没有返回任何东西。我究竟做错了什么?


MMTTMM
浏览 111回答 1
1回答

胡子哥哥

大概$wmpl_langcode就像en您正在检查它一样,array_key_exists因此将其用作索引:$wmpl_langcode = ICL_LANGUAGE_CODE;echo $wmpl_langcode;if (array_key_exists($wmpl_langcode, $lingos)) {&nbsp; &nbsp; echo $lingos[$wmpl_langcode];} else {&nbsp; &nbsp; echo "not found";}或更简单:echo isset($lingos[$wmpl_langcode]) ? $lingos[$wmpl_langcode] : "not found";//PHP 7+echo $lingos[$wmpl_langcode] ?? "not found";大概$wmpl_langcode就像en您正在检查它一样,array_key_exists因此将其用作索引:$wmpl_langcode = ICL_LANGUAGE_CODE;echo $wmpl_langcode;if (array_key_exists($wmpl_langcode, $lingos)) {&nbsp; &nbsp; echo $lingos[$wmpl_langcode];} else {&nbsp; &nbsp; echo "not found";}或更简单:echo isset($lingos[$wmpl_langcode]) ? $lingos[$wmpl_langcode] : "not found";//PHP 7+echo $lingos[$wmpl_langcode] ?? "not found";
打开App,查看更多内容
随时随地看视频慕课网APP