Heim > Artikel > Backend-Entwicklung > Seltsame Phänomene bei der Verwendung der PHP-Funktion rtrim()
Das Beispiel in diesem Artikel beschreibt das seltsame Phänomen bei der Verwendung der PHP-Funktion rtrim(). Teilen Sie es allen als Referenz mit. Die Einzelheiten lauten wie folgt:
Ich bin heute bei der Verwendung der rtrim()
-Funktion auf ein seltsames Problem gestoßen:
echo rtrim('<p></p>', '</p>'); // 输出为 <p echo ltrim('www.php.cn','www.'); // 输出为 php.cn
Die obigen Ausgabeergebnisse sind etwas unerwartet. Ursprünglich dachte ich, dass die erste Zeile e388a4556c0f65e1904146cc1a846bee ausgeben sollte und die zweite Zeile jb51.net ausgeben würde.
Dieses Problem hat mich schon lange beschäftigt, und ich habe den Grund nie gefunden. Später habe ich die Antwort im Handbuch gefunden:
rtrim() ersetzt Zeichen in Einheiten , keine Zeichenfolgen. Beim Ersetzen von rechts nach links werden auf jeden Fall die 6 Zeichen von 94b3e26ee717c64999d7867364b1b4a3 ersetzt, da > auch in der Zeichenfolge des zweiten Parameters enthalten ist. 6fb279ad3fd4344cbdd93aac6ad173ac), also wird es auch ersetzt, wenn man weiter nach links geht. Zu diesem Zeitpunkt ist p nicht in der Zeichenfolge des zweiten Parameters enthalten. Die Substitution stoppt also und
Wenn Sie es so verstehen, wird das Ausgabeergebnis der zweiten Zeile erwartet. Haha...es steht deutlich im Handbuch. Originaltext: Sie können auch die Zeichen angeben, die Sie entfernen möchten, indem Sie den Parameter charlist verwenden. Mit ... können Sie einen Bereich angeben Charaktere. Es ist ersichtlich, dass die zweiten Parameter von Weitere Artikel zu seltsamen Phänomenen bei der Verwendung der PHP-Funktion rtrim() finden Sie auf der chinesischen PHP-Website! rtrim
, ltrim
und trim
als Satz von Zeichenlisten für Vergleichsvorgänge verwendet werden. Dies unterscheidet sich von der Substitutionsoperation der Funktion str_replace
, die wir zuvor kannten.