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