Maison >développement back-end >tutoriel php >strtr vs str_replace : quand utiliser lequel pour les remplacements de chaînes ?

strtr vs str_replace : quand utiliser lequel pour les remplacements de chaînes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 22:04:02346parcourir

strtr vs str_replace: When to Use Which for String Replacements?

Quand utiliser strtr vs str_replace

Les fonctions PHP strtr et str_replace effectuent toutes deux des remplacements de chaînes, mais des différences clés existent dans leur comportement.

Différences clés :

  • Tri des clés : strtr trie ses chaînes de recherche par longueur dans l'ordre décroissant, tandis que str_replace traite les clés dans l'ordre elles sont définies.
  • Ordre de remplacement : strtr remplace d'abord la plus grande chaîne correspondante, tandis que str_replace remplace les clés de manière séquentielle.

Exemple :

Considérez le code suivant :

<code class="php">$text = "PHP: Hypertext Preprocessor";
$arr = array("PHP" => "PHP: Hypertext Preprocessor", "PHP: Hypertext Preprocessor" => "PHP");

$text_strtr = strtr($text, $arr);
$text_str_replace = str_replace(array_keys($arr), array_values($arr), $text);</code>
  • strtr triera les clés par longueur et remplacera d'abord "PHP: Hypertext Preprocessor" par "PHP", rétablissant ainsi le texte à son valeur d'origine.
  • str_replace remplacera "PHP" par "PHP : préprocesseur hypertexte", puis remplacera "PHP : préprocesseur hypertexte" par "PHP", ce qui donnera un résultat différent : "PHP : préprocesseur hypertexte."

Quand utiliser strtr :

  • Préférez strtr lorsque l'ordre des remplacements n'est pas critique ou lorsqu'il est souhaitable de remplacer la chaîne correspondante la plus longue.

Quand utiliser str_replace :

  • Utilisez str_replace lorsque l'ordre spécifique des remplacements de clés est important.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn