我需要从单词中删除每个出现的双字母。(IE“attached”必须变成:“aached”。)
我写了这个函数:
function strip_doubles($string, $positions) {
for ($i = 0; $i < strlen($string); $i++) {
$stripped_word[] = $string[$i];
}
foreach($positions['word'] as $position) {
unset($stripped_word[$position], $stripped_word[$position + 1]);
}
$returned_string= "";
foreach($stripped_words $key => $value) {
$returned_string.= $stripped_words[$key];
}
return $returned_string;
}
其中$string是要删除的单词,$positions是一个包含任何第一个双字母位置的数组。
它完美地工作,但真正的程序员如何以更简洁的方式编写相同的函数?我有一种感觉,不用三个循环和这么多代码也可以做同样的事情。