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?
$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);
J'ai étonné pourquoi personne ne se souvient de substr_replace ()
substr_replace($str, $x, $i, 1);
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;
}
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 :