Eine Erklärung von Problemen, die Anfänger leicht übersehen können, wenn sie PHP zum Teilen von Zeichenfolgen mithilfe von Explode verwenden

jacklove
Freigeben: 2023-03-31 06:56:01
Original
2314 Leute haben es durchsucht

1. Beschreibung der Explosionsmethode

Die Explosionsmethode kann eine Zeichenfolge basierend auf einer bestimmten Zeichenfolge als Grenzpunkt in ein Array aufteilen.

array explode ( string $delimiter , string $string [, int $limit ] )
Nach dem Login kopieren

Gibt ein aus Strings bestehendes Array zurück. Jedes Element ist ein Teilstring eines Strings, getrennt durch das String-Trennzeichen als Grenzpunkt.

Parameterbeschreibung:
Trennzeichen
Das Trennzeichen an der Grenze.

Zeichenfolge
Eingabezeichenfolge

Limit
Wenn der Grenzwertparameter festgelegt ist und es sich um eine positive Zahl< handelt 🎜 >, das zurückgegebene Array enthält höchstens begrenzte Elemente und das letzte Element enthält den Rest der Zeichenfolge. Wenn der Grenzwertparameter eine
negative Zahl ist, werden alle Elemente außer den letzten -limit-Elementen zurückgegeben. Wenn der Grenzwert
0 ist, wird er als 1 behandelt.

2. Beispiel

Verwenden, Zeichenfolge teilen

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>
Nach dem Login kopieren

Ausgabe:

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9)
Nach dem Login kopieren

Verwenden, Zeichenfolge teilen, begrenzen ist eine positive Zahl

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str, 5);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>
Nach dem Login kopieren

Ausgabe:

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5,6,7,8,9)
Nach dem Login kopieren

Zum Teilen der Zeichenfolge verwenden, limit ist eine negative Zahl

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str, -3);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>
Nach dem Login kopieren

Ausgabe:

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6)
Nach dem Login kopieren

wird zum Teilen der Zeichenfolge verwendet, und der Grenzwert ist 0

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str,0);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>
Nach dem Login kopieren

Ausgabe:

Array(
    [0] => 1,2,3,4,5,6,7,8,9)
Nach dem Login kopieren

3. Probleme, die leicht zu ignorieren sind

Im Allgemeinen wird Explode verwendet, um Daten wie ID-Strings aufzuteilen

<?php$ids = &#39;1,2,3,4&#39;;$data = explode(&#39;,&#39;, $ids);if($data){    foreach($data as $k=>$v){        // do sth
    }
}?>
Nach dem Login kopieren

Unter normalen Umständen sind IDs nicht leer, und Sie werden keine Probleme finden, wenn Sie sich den Code ansehen, da dieser vorhanden ist ist ein Urteil, wenn (Daten) im Allgemeinen angenommen werden, dass es sich um eine leere Handhabung handelt.

Die tatsächliche Situation ist jedoch, dass ids = null ist, die Daten jedoch nicht leer sind, was zu Problemen mit dem in foreach ausgeführten Code führt.

<?php$ids = null;$data = explode(&#39;,&#39;, $ids);if($data){
    print_r($data);
}else{    echo &#39;null&#39;;
}?>
Nach dem Login kopieren

Da ids=null ist, verwenden Sie explosion zum Teilen, und das resultierende Array ist

Array ( [0] => ) anstelle von Array().

Es wird daher davon ausgegangen, dass es geändert werden muss, um Probleme zu vermeiden

<?php$ids = null;$data = explode(&#39;,&#39;, $ids);if(isset($data[0]) && $data[0]){    foreach($data as $k=>$v){        // do sth
    }
}?>
Nach dem Login kopieren
In diesem Artikel werden die Probleme erläutert, die Anfänger leicht übersehen können, wenn sie Explode zum Teilen von Zeichenfolgen in PHP verwenden. Weitere verwandte Inhalte finden Sie hier. Bitte achten Sie auf die chinesische PHP-Website.

Verwandte Empfehlungen:

Erläuterung der zweispaltigen Datenmethode in der MySQL-Austauschtabelle

So generieren Sie 0~1 Zufallswerte über PHP Dezimalmethode

Anweisungen zur Verwendung der MySQL-Zeitstempelformatierungsfunktion from_unixtime

Das obige ist der detaillierte Inhalt vonEine Erklärung von Problemen, die Anfänger leicht übersehen können, wenn sie PHP zum Teilen von Zeichenfolgen mithilfe von Explode verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage