Was ist der Unterschied zwischen split() und explode()?

Lesezeit: 2 Minuten

Benutzer-Avatar
Theodore R. Smith

Das PHP-Handbuch für split() sagt

Diese Funktion wurde VERALTET ab PHP 5.3.0. Es wird dringend davon abgeraten, sich auf diese Funktion zu verlassen … Verwenden explode()
stattdessen.

Aber ich kann keinen Unterschied zwischen feststellen split() und explode(). join() ist nicht veraltet, was gibt es also?

  • Split gibt Ihnen Stringfragmente, während explode Ihnen Maschinenfragmente gibt. Äh, wahrscheinlich nicht … 🙂

    – Peter Rowwell

    4. September 2010 um 5:12 Uhr

  • @Peter Rowell: split gibt dir zwei Haarsträhnen, während explode dir Splitter gibt.

    – BoltClock

    4. September 2010 um 5:13 Uhr


Benutzer-Avatar
BoltClock

Es wurde verworfen, weil

  • explode() ist wesentlich schneller, da es nicht auf der Grundlage eines regulären Ausdrucks aufgeteilt wird, sodass die Zeichenfolge nicht vom Regex-Parser analysiert werden muss
  • preg_split() ist schneller und verwendet reguläre PCRE-Ausdrücke für Regex-Splits

join() und implode() sind Aliase voneinander und haben daher keine Unterschiede.

  • Also haben sie es anscheinend vermasselt, als sie es benannt haben? Klingt so, als hätte es ereg_split() heißen sollen.

    – Theodore R. Smith

    4. September 2010 um 9:24 Uhr

  • @hopeseekr: PHP vermasselt immer die Benennung von Funktionen 😉 Und ja, das könnte man wohl sagen!

    – BoltClock

    4. September 2010 um 9:32 Uhr

split verwendet Regex, während explode verwendet eine feste Zeichenfolge. Wenn Sie Regex benötigen, verwenden Sie preg_splitdas PCRE verwendet (das Regex-Paket, das jetzt in der gesamten PHP-Standardbibliothek bevorzugt wird).

Beide Funktionen werden verwendet, um eine Zeichenfolge zu teilen.

Split wird jedoch verwendet, um eine Zeichenfolge mithilfe eines regulären Ausdrucks zu teilen.

Auf der anderen Seite wird Explode verwendet, um eine Zeichenfolge mit einer anderen Zeichenfolge zu teilen.

Z.B explode (” this”, “this is a string”); wird zurückkehren “Ist eine Zeichenfolge

Z.B Split (” + “, “Dies+ ist ein String”);

Im split() Sie können reguläre Ausdrücke verwenden, um eine Zeichenfolge zu teilen. Wohingegen explode() teilt einen String mit einem String.
preg_split ist eine viel schnellere Alternative, falls Sie reguläre Ausdrücke benötigen.

Benutzer-Avatar
Sampath

Beide werden verwendet, um eine Zeichenfolge in ein Array aufzuteilen, aber der Unterschied besteht darin split() verwendet Muster zum Aufteilen, während explode() verwendet Zeichenfolge. explode() ist schneller als split() weil es keine Zeichenfolge basierend auf einem regulären Ausdruck abgleicht.

Benutzer-Avatar
Ascha

Das split() Die Funktion teilt den String mithilfe eines regulären Ausdrucks in ein Array auf und gibt ein Array zurück.

Das explode() Funktion teilt die Zeichenfolge für Zeichenfolge.

Z.B:

<?php
    $split_array=split(':','I:P:S');
    $explode_array=explode('and','I and P and S');
    print_r($split_array);
    print_r($explode_array);
?>

Das Ergebnis wird sein

Array ( [0] => I [1] => P [2] => S ) 
Array ( [0] => I [1] => P [2] => S )

Hinweis: Die Funktion split() war in PHP 5.3.0 VERALTET und in PHP 7.0.0 ENTFERNT

1229280cookie-checkWas ist der Unterschied zwischen split() und explode()?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy