开发者

PHP function to replace a (i)th-position character

Is there a fun开发者_开发百科ction in PHP that takes in a string, a number (i), and a character (x), then replaces the character at position (i) with (x)?

If not, can somebody help me in implementing it?


$str    = 'bar';
$str[1] = 'A';
echo $str; // prints bAr

or you could use the library function substr_replace as:

$str = substr_replace($str,$char,$pos,1);


I amazed why no one remember about substr_replace()

substr_replace($str, $x, $i, 1);


Codaddict is correct, but if you wanted a function, you could try...

function updateChar($str, $char, $offset) {

   if ( ! isset($str[$offset])) {
       return FALSE;
   }

   $str[$offset] = $char;

   return $str;

}

It works!


function replace_char($string, $position, $newchar) {
  if(strlen($string) <= $position) {
    return $string;
  }
  $string[$position] = $newchar;
  return $string;
}

It's safe to treat strings as arrays in PHP, as long as you don't try to change chars after the end of the string. See the manual on strings:


implode(':', str_split('1300', 2));

returns:

13:00

Also very nice for some credit card numbers like Visa:

implode(' ', str_split('4900000000000000', 4));

returns:

4900 0000 0000 0000

str_split — Convert a string to an array

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜