Подтвердить что ты не робот

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

Есть ли функция в PHP, которая принимает строку, число (i) и символ (x), а затем заменяет символ в позиции (i) на (x)?

Если нет, может ли кто-нибудь помочь мне в его реализации?

4b9b3361

Ответ 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 - Преобразовать строку в массив