In PHP ist Str_split eine sehr nützliche Funktion, die eine Zeichenfolge in ein Array teilen kann. Indem wir clever Str_split verwenden, können wir die Zeichenfolge nicht nur in mehrere einzelne Zeichen aufteilen, sondern auch einige interessante String-Verarbeitungseffekte wie Cross-Output-Effekte erzielen. Heute werden wir diskutieren, wie die Funktion Str_split verwendet wird, um die Cross-out-Ausgabe von Zeichenfolgen zu implementieren.
Die STR_SPLIT -Funktion teilt eine Zeichenfolge in ein Array. Die grundlegende Syntax ist wie folgt:
str_split(string $string, int $length = 1): array
$ String : Die Zeichenfolge, die geteilt wird.
$ Länge : Gibt die Länge jedes Array -Elements an, Standard ist 1.
Verwenden Sie beispielsweise Str_split , um eine Zeichenfolge "HelloWorld" in ein einzelnes Zeichen -Array aufzuteilen:
$string = "HelloWorld";
$array = str_split($string);
print_r($array);
Ausgabe:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] => W
[6] => o
[7] => r
[8] => l
[9] => d
)
Durch str_split wird die Zeichenfolge "HelloWorld" in ein Array jedes Zeichens aufgeteilt.
Cross-out bezieht sich auf die alternative Ausgabe von zwei Zeichenfolgenzeichen in der Reihenfolge. Angenommen, es gibt zwei Saiten "ABC" und "123" , das Ergebnis nach dem Cross-out sollte "A1B2C3" sein.
Angenommen, wir haben zwei Zeichenfolgen, können wir zuerst Str_split verwenden, um sie in Arrays aufzuteilen und dann diese Arrays abwechselnd auszugeben. Schauen wir uns den Implementierungscode an:
<?php
function cross_output($str1, $str2) {
// Verwenden Sie zwei Saiten str_split In Arrays aufgeteilt
$arr1 = str_split($str1);
$arr2 = str_split($str2);
// Holen Sie sich die maximale Länge von zwei Arrays
$max_length = max(count($arr1), count($arr2));
// Wird verwendet, um die Crossover -Ergebnisse zu speichern
$result = '';
// Kreuzausgang durch maximale Länge
for ($i = 0; $i < $max_length; $i++) {
if (isset($arr1[$i])) {
$result .= $arr1[$i];
}
if (isset($arr2[$i])) {
$result .= $arr2[$i];
}
}
return $result;
}
$str1 = "abc";
$str2 = "123456";
echo cross_output($str1, $str2); // Ausgabe: a1b2c3456
?>
Split String: Verwenden Sie Str_split , um die beiden in Arrays $ arr1 und arr2 übergebenen Zeichenfolgen aufzuteilen.
Erhalten Sie die maximale Länge: Wir erhalten die maximale Länge von zwei Arrays und stellen Sie sicher, dass wir zum letzten Element des längsten Arrays durchlaufen können.
Alternative Ausgabe: Verwenden Sie eine für die Schleife, um das Array durch das Array zu schleifen und die Zeichen einzeln hinzuzufügen. Wenn ein Index eines Arrays einen Wert hat, wird er zur Ergebniszeichenfolge hinzugefügt.
In der tatsächlichen Entwicklung kann es die Verarbeitung von Saiten mit URLs beinhalten. Zum Beispiel müssen wir möglicherweise eine Zeichenfolge mit einer URL drücken. In diesem Beispiel gehen wir davon aus, dass wir eine Zeichenfolge haben, die URLs enthält, die wir abwechselnd ausgeben möchten, aber den Domänennamen in der URL durch M66.net ersetzen müssen.
Angenommen, wir haben die folgende Zeichenfolge:
$str1 = "http://example.com/page1";
$str2 = "https://example.com/page2";
Wenn wir ausgeben, ersetzen Sie den Domänennamen in der URL durch m66.net , und der Code lautet wie folgt: