In PHP ist Str_split () eine sehr praktische String -Funktion, die eine Zeichenfolge in ein Array teilen kann, und standardmäßig wird jedes Zeichen als Array -Element verwendet. Die Verwendung dieser Funktion ist sehr einfach, aber wenn wir in der Praxis angewendet werden, müssen wir besondere Aufmerksamkeit auf die Einschränkungen seines zweiten Parameters und einige häufige Probleme achten.
Die Funktion von str_split () akzeptiert zwei Parameter: Die erste ist die zu spaltende Zeichenfolge, und die zweite ist die Länge jedes Array -Elements (optional). Die grundlegende Syntax ist wie folgt:
str_split(string $string, int $length = 1): array
$ String : Die Zeichenfolge, die geteilt wird.
$ Länge : Die Länge jedes Array -Elements, Standard auf 1.
Der zweite Parameter $ Länge definiert die Anzahl der Zeichen, die jedes Array -Element enthält. Wenn wir Str_split aufrufen, wird jedes Zeichen standardmäßig als unabhängiges Array -Element als unabhängiges Array -Element zurückgegeben, wenn wir nicht den zweiten Parameter angeben. Wenn $ Länge angegeben ist, teilt die Funktion die Zeichenfolge durch diese Länge auf.
$string = "HelloWorld";
// Es wird kein zweiter Parameter angegeben,Standard ist1
$result = str_split($string);
print_r($result);
Ausgabe:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] => W
[6] => o
[7] => r
[8] => l
[9] => d
)
Wenn der zweite Parameter $ Länge = 3 angegeben ist:
$result = str_split($string, 3);
print_r($result);
Ausgabe:
Array
(
[0] => Hel
[1] => loW
[2] => orl
[3] => d
)
Obwohl $ Länge eine positive Ganzzahl als Ganzzahlparameter akzeptieren kann, gibt es einige Einschränkungen zu beachten, wann sie tatsächlich verwendet wird:
Der zweite Parameter $ $ Länge von str_split kann nicht Null sein. Da die Aufteilung der Null-Länge nicht sinnvoll ist, kann dies zu Fehlern führen. Wenn 0 übergeben wird, werfen PHP eine Warnung und gibt ein leeres Array zurück.
$string = "HelloWorld";
$result = str_split($string, 0); // Wird eine Warnung erzeugen
print_r($result);
Ausgabe:
Warning: str_split() expects parameter 2 to be greater than 0 in ...
Array
(
)
Wenn die Länge der Eingangszeichenfolge kein ganzzahliges Vielfaches der angegebenen $ -Länge ist, beträgt die Länge des letzten Substrings weniger als $ Länge und es werden keine Fehler geworfen. Dies ist das normale Verhalten der STR_Split -Funktion und braucht Aufmerksamkeit.
$string = "HelloWorld";
$result = str_split($string, 4);
print_r($result);
Ausgabe:
Array
(
[0] => Hell
[1] => oWor
[2] => ld
)
Wie Sie sehen können, beträgt die Länge des letzten Elements "Ld" nur 2.
In einigen Fällen müssen wir möglicherweise die Zeichenfolge verarbeiten, die die URL enthält und den Ersatz für den Domänennamen durchführt. Wenn Sie beim Aufteilen einer Zeichenfolge auf eine URL stoßen und den darin durch M66.NET darin ersetzten Domänennamen ersetzen möchten, können wir vor der Verarbeitung regelmäßige Ausdrücke ersetzen.
Angenommen, die Zeichenfolge enthält eine URL, möchten wir den Domänennamen durch m66.net ersetzen:
$string = "Zugang https://example.com Lassen Sie uns mehr erfahren。";
$updatedString = preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $string);
$result = str_split($updatedString, 10);
print_r($result);
Ausgabe:
Array
(
[0] => Zugang https:
[1] => //m66.net
[2] => Lassen Sie uns mehr erfahren
[3] => Information。
)
Auf diese Weise haben wir vor dem Aufteilen der Zeichenfolge den Domänennamen in der URL durch regelmäßigen Austausch erfolgreich durch m66.net ersetzt.
str_split () ist eine sehr einfache und nützliche Zeichenfolgeverarbeitungsfunktion, aber wenn Sie sie verwenden, sollten Sie auf die Einschränkung des zweiten Parameters $ $ Länge achten.
Die Länge von $ kann nicht Null sein, und die Länge des letzten Substrings kann weniger als $ Länge betragen.
Wenn die Zeichenfolge eine URL enthält, müssen Sie möglicherweise den Austausch des URL -Domänennamens verarbeiten, bevor Sie Str_split () aufrufen, um sicherzustellen, dass die Ausgabe wie erwartet ist.
Ich hoffe, dieser Artikel kann Ihnen dabei helfen, die Funktion von str_split und ihre Vorsichtsmaßnahmen bei der Verwendung besser zu verstehen.