用更正替换数组值?

时间:2013-12-05 16:14:53

标签: php str-replace

这应该很容易。

我有一个 $ array

其中一些值为 $ wrong (第二个数组)

所以我想更改它们的 $ corrections (第三个数组)

我正在使用它:

$corrected = str_replace($wrong, $corrections, $array);

但意识到它正在替换字母,而不是考虑每个数组的孔值。

因此,如果$ corrections包含“i”作为值,它将替换每个字母“i”,而不是仅替换$ wrong中等于“i”的值。

根据更正,将一个阵列替换为另一个阵列的正确功能是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

循环遍历数组并检查整个单词:

foreach($array as &$item) {
    foreach($wrongs as $key => $wrong) {
        if($item === $wrong) {
            $item = $corrections[$key];
        }
    }
}

请注意,我们正在原始数组by reference中传递要更正的$item

这也假设$wrong数组与$corrections数组相关1到1 ......所以请确保两者匹配!