我正在尝试分解这串,

AFRIKAANS = af
ALBANIAN = sq
AMHARIC = am
ARABIC = ar
ARMENIAN = hy
AZERBAIJANI = az
BASQUE = eu
BELARUSIAN = be
BENGALI = bn
BIHARI = bh
BULGARIAN = bg
BURMESE = my
CATALAN = ca
CHEROKEE = chr
CHINESE = zh


变成这样的数组

$lang_codes['chinese'] = "zh";


因此,语言的名称是键,而值是语言代码。这确实很简单,但是我无法理解。我从编程中刹车了,时间太长了,显然...

我试过在\n爆炸,然后使用foreach,再在=爆炸,但我似乎无法按照自己的方式拼凑起来。

最佳答案

我尝试在\ n处爆炸,然后使用foreach,在“ =”处再次爆炸


我认为这是正确的方法。

$lines = explode("\n", $langs);
$lang_codes = array();

foreach ($lines as $line) {
    list ($lang, $code) = explode(" = ", $line, 2);
    $lang_codes[$lang] = $code;
}




如果要使语言为小写字母(例如您的示例($lang_codes['chinese'])),则需要调用strtolower

$lang_codes[strtolower($lang)] = $code;




有关这些功能的更多信息,请参见PHP手册:


list
explode

关于php - 如何将这个字符串 explode 成这样的数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6594878/

10-11 05:12