In der PHP -Entwicklung ist Verarbeitungszeichenfolgen eine sehr häufige Operation, und die Erlangung der Länge einer Schnur ist ein wichtiger Teil davon. PHP bietet eine Vielzahl von Möglichkeiten, um Stringlängen zu erhalten. Die am häufigsten verwendeten sind strlen () und mb_strlen () . In diesem Artikel wird die Verwendung dieser beiden Funktionen und die Unterschiede zwischen ihnen ausführlich vorgestellt und den Entwicklern hilft, anwendbare Funktionen angemessener auszuwählen.
Strlen () ist eine integrierte Funktion in PHP, um die Bytelänge einer Zeichenfolge zurückzugeben. Es ist für Zeichenfolgen geeignet, die keine Sonderzeichen unter englischen Zeichen oder UTF-8-Codierung enthalten.
$str = 'Hello world!';
$length = strlen($str);
echo $length;
Das Ausgangsergebnis ist:
12
Es ist zu beachten, dass Strlen () eher die Anzahl der Bytes als die Anzahl der Zeichen berechnet, sodass die erzielten Ergebnisse für chinesische oder andere Multi-Byte-Zeichen möglicherweise nicht korrekt sind. Die Verwendung dieser Funktion kann logische Fehler verursachen, wenn Strings mit nicht englischen Zeichen verarbeitet werden.
Die Funktion mb_strlen () ist Teil der Multi-Byte-String-Verarbeitungsfunktion, geeignet für Multi-Byte-Codierung wie UTF-8 und kann die Anzahl der Nicht-ASCII-Zeichen wie Chinesisch und Japanisch genau zählen.
$str = 'Hallo,Welt!';
$length = mb_strlen($str, 'UTF-8');
echo $length;
Das Ausgangsergebnis ist:
7
mb_strlen () empfängt zwei Parameter:
Obwohl Mb_strlen () Multi-Byte-Zeichenfolgen korrekt verarbeiten kann, ist seine Leistung bei Strlen () bei der Verarbeitung reiner Englisch- oder Single-Byte-Zeichen geringfügig unterlegen. Daher ist die Verwendung von Strlen () effizienter, wenn keine Multibyten -Zeichen beteiligt sind.
Der größte Unterschied zwischen beiden ist die Fähigkeit, mit der Charakter -Codierung umzugehen:
Wenn die verarbeitete Zeichenfolge chinesische oder andere Sonderzeichen enthält, wird empfohlen, zuerst die Funktion MB_strlen () zu verwenden, um die Genauigkeit der Zeichenstatistik sicherzustellen.
In der PHP -Entwicklung ist es entscheidend, die Funktion der Stringlänge vernünftig auszuwählen. Verwenden Sie für Strings, die nur englische Zeichen enthalten, Strlen () ; Wenn jedoch chinesische oder andere Multi-Byte-Zeichen beteiligt sind, sollte Mb_strlen () verwendet werden, um die korrekte Anzahl von Zeichen zu erhalten. Durch die Beherrschung der Verwendung dieser beiden Funktionen beiträgt die Stabilität und Kompatibilität des Codes.