web-dev-qa-db-fra.com

PHP fonction pour remplacer un caractère (i) en position

Existe-t-il une fonction dans PHP qui prend une chaîne, un nombre (i) et un caractère (x), puis remplace le caractère à la position (i) par (x)?

Si non, quelqu'un peut-il m'aider à le mettre en œuvre?

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

ou vous pouvez utiliser la fonction de bibliothèque substr_replace en tant que:

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

J'ai étonné pourquoi personne ne se souvient de substr_replace ()

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

Codaddict est correct , mais si vous vouliez une fonction, vous pourriez essayer ...

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

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

   $str[$offset] = $char;

   return $str;

}

Ça marche!

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

Il est prudent de traiter les chaînes comme des tableaux en PHP, tant que vous n'essayez pas de modifier les caractères après la fin de la chaîne. Voir le manuel sur les chaînes :

1
Emil Vikström