Wann sollte strtr vs. str_replace verwendet werden?
Die PHP-Funktionen strtr und str_replace führen beide String-Ersetzungen durch, es bestehen jedoch wesentliche Unterschiede in ihrem Verhalten.
Hauptunterschiede:
-
Schlüsselsortierung: strtr sortiert seine Suchzeichenfolgen nach Länge in absteigender Reihenfolge, während str_replace Schlüssel in dieser Reihenfolge verarbeitet Sie sind definiert.
-
Ersetzungsreihenfolge: strtr ersetzt zuerst die größte übereinstimmende Zeichenfolge, während str_replace Schlüssel nacheinander ersetzt.
Beispiel:
Bedenken Sie den folgenden Code:
<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>
Nach dem Login kopieren
- strtr sortiert die Schlüssel nach Länge und ersetzt zuerst „PHP: Hypertext Preprocessor“ durch „PHP“, wodurch der Text effektiv auf seinen ursprünglichen Wert zurückgesetzt wird Originalwert.
- str_replace ersetzt „PHP“ durch „PHP: Hypertext Preprocessor“ und dann „PHP: Hypertext Preprocessor“ durch „PHP“, was zu einem anderen Ergebnis führt: „PHP: Hypertext Preprocessor.“
Wann sollte strtr verwendet werden:
- Strtr bevorzugen, wenn die Reihenfolge der Ersetzungen nicht kritisch ist oder wenn das Ersetzen der längsten passenden Zeichenfolge wünschenswert ist.
Wann ist str_replace zu verwenden:
- Verwenden Sie str_replace, wenn die spezifische Reihenfolge der Schlüsselersetzungen wichtig ist.
Das obige ist der detaillierte Inhalt vonstrtr vs str_replace: Wann sollte welches zum Ersetzen von Zeichenfolgen verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!