web-dev-qa-db-ja.com

PHP(i)番目の文字を置き換える関数

PHPに文字列、数値(i)、および文字(x)を取り、位置の文字を置き換える関数がありますか? (i)と(x)?

そうでない場合、誰かがそれを実装するのを手伝ってくれる?

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

または、ライブラリ関数substr_replace なので:

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

substr_replace() について誰も覚えていないのに驚いた

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

Codaddictは正しい ですが、関数が必要な場合は、試すことができます...

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

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

   $str[$offset] = $char;

   return $str;

}

動作します!

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

文字列の終わりの後で文字を変更しようとしない限り、PHPでは文字列を配列として扱うことが安全です。マニュアルを参照 strings

1
Emil Vikström