我在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
?
答案 0 :(得分:2)
$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');