Ответ 1
$str = 'bar';
$str[1] = 'A';
echo $str; // prints bAr
или вы можете использовать библиотечную функцию substr_replace
как:
$str = substr_replace($str,$char,$pos,1);
Есть ли функция в PHP, которая принимает строку, число (i
) и символ (x
), а затем заменяет символ в позиции (i
) на (x
)?
Если нет, может ли кто-нибудь помочь мне в его реализации?
$str = 'bar';
$str[1] = 'A';
echo $str; // prints bAr
или вы можете использовать библиотечную функцию substr_replace
как:
$str = substr_replace($str,$char,$pos,1);
Я поразился, почему никто не помнит о substr_replace()
substr_replace($str, $x, $i, 1);
Правильно указан код:, но если вы хотите использовать функцию, вы можете попробовать...
function updateChar($str, $char, $offset) {
if ( ! isset($str[$offset])) {
return FALSE;
}
$str[$offset] = $char;
return $str;
}
function replace_char($string, $position, $newchar) {
if(strlen($string) <= $position) {
return $string;
}
$string[$position] = $newchar;
return $string;
}
Безопасно обрабатывать строки как массивы в PHP, если вы не пытаетесь изменить символы после окончания строки. См. Руководство в строках:
implode(':', str_split('1300', 2));
возвращает:
13:00
Также очень хорошо для некоторых номеров кредитных карт, таких как Visa:
implode(' ', str_split('4900000000000000', 4));
возвращает:
4900 0000 0000 0000