如何用特殊字符小写字符串?

时间:2017-03-23 13:37:48

标签: php arrays

我在PHP中有这个数组:

$weekdays = array(
"mandag" => 1,
"tirsdag" => 2,
"onsdag" => 3,
"torsdag" => 4,
"fredag" => 5,
"lørdag" => 6,
"søndag" => 7);

该函数以随机格式(如全部大写或大写字母)获取当天,我从变量中执行strtolower,然后将其与数组进行比较。

问题出在这里,当我在变量上strtolower使用来自øsøndag的特殊字符lørdag时,它无法识别串。如何在不修改特殊字符的情况下将字符串更改为strtolower

2 个答案:

答案 0 :(得分:2)

尝试mb_strtolower

$weekdays = array("Mandag" => 1, "Tirsdag" => 2, "Onsdag" => 3, "Torsdag" => 4, "Fredag" => 5, "Lørdag" => 6, "Søndag" => 7);

$weekdays = array_combine(
    array_map('mb_strtolower', array_keys($weekdays)),
    $weekdays
);

var_dump($weekdays);

答案 1 :(得分:1)

...或者如果你想检查数组中的特定项目,你可以在其上运行mb_strtolower($ item,'UTF-8')。

$happyDay = "SøndAg";
echo $happyDay . ' -> ' . mb_strtolower($happyDay, 'UTF-8');