В чём ошибка? [php]
Этот код должен возвращать сходство слов $w0 и $w1, за совпадение букв в одной и той же позиции он прибавляет 2 балла, за одинаковые буквы, но в разных позициях - 1балл. Но вместо 5*2 баллов он возвращает 20 баллов. Почему?
function b($w0,$w1,$y=2,$w=1){//Кол-во баллов совпадения у $w0 и $w1
$i=0;
$b=0;
while($i<strlen($w0)){/*слова должны быть одинаковой длины*/
if($w0[$i]==$w1[$i]){
$b+=$y;
}
else if(r($w1,$w0[$i])){
$b+=$w;
}
$i++;
}
return $b;
}
echo b("слово","слово",2,1);//20 баллов, а не 10 баллов.
Источник: Stack Overflow на русском