由於某種奇怪的原因,當輸入2
時,下面的函數返回11
,我期望它返回1
。哪裏不對?str_replace with array_keys/array_values返回奇怪的結果
<?php
function convert($v){
$arr = array(
2 => 1,
21 => 1,
3 => 2,
6 => 2,
11 => 2,
12 => 2,
4 => 3,
14 => 3,
19 => 3,
9 => 5,
1 => 11,
10 => 11,
22 => 12,
23 => 13,
14 => 14,
);
$ret = str_replace(array_keys($arr), array_values($arr), $v);
return $ret;
}
echo convert(2); // echoes 11
?>
太棒了!感謝您的解決方案 – Richard
不客氣,我認爲每個PHP程序員都曾犯過這個錯誤;) – hakre