Не могу понять почему скрипт пропускает букву "с". PHP
нужна помощь, не понимаю где делаю ошибку:
введите сюда код
<?php
$string = "";`введите сюда код`
$value="a1bcd"; // входная строка.(efg!h)- c данным вариантом работает
$str_rev= "dcba"; // перевернутая строка. Только буквы! (hgfe)- c данным вариантом работает
//необходимо перевернуть строку задом на перёд но что цифры или символы остались на своих местах.
for ($i = 0; $i < strlen($value); $i++) {
if (empty($str_rev[$i])) {
$string .= $str_rev[($i-1)];
}
elseif (preg_match('/[a-zA-Z]/u', $value[$i])) {
$string .= $str_rev[$i];
} else {
$string .= $value[$i];
}
}
echo $string;
Ответы (1 шт):
Автор решения: Александр Сычёв
→ Ссылка
Возможно нужно так ?! И заодно немного проще будет чем у Вас
<?php
function costylMain($strMain){
$out = "";
for ($i = mb_strlen($strMain)-1; $i>=0; $i--) {
if(preg_match('/[a-z]/i', $strMain[$i])) {
$out .= $strMain[$i];
}
}
return $out;
}
echo costylMain("a1bcd");