Intereting Posts
Сохраненная процедура вызывает «Команды не синхронизированы» в следующем запросе Как установить UTF-8 в конструкторе класса PDO для базы данных PHP PgSQL Передача данных MySQL в Modal Form через PHP Как я могу отобразить SubTotal на OpenCart на любой странице? Проблемы с моей попыткой реализовать UPSERT PHP-доступ к входящим данным PUT интегрировать сканер штрих-кода в приложение php? Использовать PHP в скрипте для отправки данных также Диспетчер тегов Google Regex, получите строковое значение между двумя символами Не удается отправить письма только в Hotmail. (gmail и т. д. отлично работает) facebook-> getUser возвращает 0 Причины ошибки MySQL 2014 Не удается выполнить запросы, в то время как другие небуферизованные запросы активны Замена html-тега на preg_replace Как установить Sylius на Bluehost или любой другой сервер, на котором установлена ​​старая версия ICU? Как работает подобный_текст?

Функция PHP для замены символа (i) th-position

Есть ли функция в 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); 

Codaddict правильный , но если вы хотите функцию, вы можете попробовать …

 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

str_split – Преобразование строки в массив