In PHP ist die Exploit -Funktion eine gemeinsame Funktion, die Strings in Arrays gemäß den angegebenen Grenzwerten aufteilt. Obwohl Exploit selbst ein eindimensionales Array zurückgibt, können wir durch clevere Kombination und Verschachtelungsgebrauch Exploit verwenden, um komplexe Formatzeichenfolgen in mehrdimensionale Arrays umzuwandeln, um die Anforderungen von Datenstrukturen in tatsächlichen Projekten zu erfüllen.
In diesem Artikel werden einige praktische Techniken zum Erstellen mehrdimensionaler Arrays mithilfe von Exploit -Funktionen eingeführt und wird von bestimmten Beispielen begleitet, die Ihnen helfen, sie schnell zu beherrschen und anzuwenden.
<?php
$str = "apple,banana,orange";
$arr = explode(",", $str);
print_r($arr);
/*
Ausgabe:
Array
(
[0] => apple
[1] => banana
[2] => orange
)
*/
?>
Hier unterteilt der Exploit die Saite in ein eindimensionales Array durch Kommas.
Angenommen, wir haben eine Zeichenfolge, die mehrere Datensätze beschreibt, und jeder Datensatz verfügt über mehrere Felder, die von verschiedenen Abgrenzern getrennt sind:
"Zhang San|18|männlich,Li Si|20|weiblich,Wang Wu|22|männlich"
Diese Zeichenfolge repräsentiert 3 Personen, jeweils 3 Felder (Name | Alter | Geschlecht), getrennt durch Kommas.
Verwenden Sie Exploit , um es in zwei Schichten zu zerlegen:
<?php
$data = "Zhang San|18|männlich,Li Si|20|weiblich,Wang Wu|22|männlich";
// Erster geteilt durch Komma,Holen Sie sich die String aller
$people = explode(",", $data);
$result = [];
foreach ($people as $person) {
// Teilen Sie dann die Attribute jeder Person durch vertikale Linien auf
$result[] = explode("|", $person);
}
print_r($result);
/*
Ausgabe:
Array
(
[0] => Array
(
[0] => Zhang San
[1] => 18
[2] => männlich
)
[1] => Array
(
[0] => Li Si
[1] => 20
[2] => weiblich
)
[2] => Array
(
[0] => Wang Wu
[1] => 22
[2] => männlich
)
)
*/
?>
Auf diese Weise verwenden wir Explore , um die Zeichenfolge in ein zweidimensionales Array umzuwandeln.
Wenn Ihre String -Struktur komplexer ist und über mehr Feldniveaus verfügt, können Sie eine rekursive Funktion einkapseln und mit mehreren Separatoren durch Ebene durch Ebene aufgeteilen.
Zum Beispiel String:
"Thema1:chinesisch,Mathe;Thema2:Englisch,Physik"
Annahme ; Gruppierung , : Molekulare Schlüsselwertpaare , Fraktionsarray:
<?php
function multiExplode($delimiters, $string) {
$ready = str_replace($delimiters, $delimiters[0], $string);
$parts = explode($delimiters[0], $ready);
if (count($delimiters) == 1) {
return $parts;
}
array_shift($delimiters);
foreach ($parts as $key => $part) {
$parts[$key] = multiExplode($delimiters, $part);
}
return $parts;
}
$str = "Thema1:chinesisch,Mathe;Thema2:Englisch,Physik";
$result = multiExplode([';', ':', ','], $str);
print_r($result);
/*
Ausgabe:
Array
(
[0] => Array
(
[0] => Thema1
[1] => Array
(
[0] => chinesisch
[1] => Mathe
)
)
[1] => Array
(
[0] => Thema2
[1] => Array
(
[0] => Englisch
[1] => Physik
)
)
)
*/
?>
Diese Funktion wandelt flexibel Strings aller hierarchischen Grenzwerte in mehrdimensionale Arrays durch rekursive Aufteilung um.
Wenn Sie bei der Parsen mehrdimensionaler Arrays die Anzahl der von Ihnen geteilten Elemente kennen, können Sie Variablen mit der List- Syntax schnell zuweisen:
<?php
$str = "Tom|25|USA";
list($name, $age, $country) = explode("|", $str);
echo "Name:$name,Alter:$age,Nation:$country";
/*
Ausgabe:
Name:Tom,Alter:25,Nation:USA
*/
?>
Diese Schreibmethode ist einfach und klar und für Einzeldatenanalysen im festen Format geeignet.
Explode ist auch sehr nützlich, wenn URL -Parameter wie Analyse von Abfragesträgern verarbeitet werden:
<?php
$url = "https://gitbox.net/path/index.php?name=Tom&age=25&country=USA";
$query = parse_url($url, PHP_URL_QUERY); // Holen Sie sich eine Abfragebarstellung
$params = explode("&", $query);
$result = [];
foreach ($params as $param) {
list($key, $value) = explode("=", $param);
$result[$key] = $value;
}
print_r($result);
/*
Ausgabe:
Array
(
[name] => Tom
[age] => 25
[country] => USA
)
*/
?>
Verwenden Sie hier Exploit , um die Abfragezeichenfolge in ein Schlüsselwert-Paar-Array aufzuteilen.
Explode gibt ein eindimensionales Array zurück, aber durch Verschachteln ist es einfach, mehrdimensionale Arrays zu erstellen.
Das Kombinieren von Schleifen und Rekursionen ermöglicht eine flexible Analyse von Saiten in komplexen Formaten.
Es wird mit der Liste gepaart, um die schnelle Datenextraktion zu erleichtern.
Explode ist sehr effizient, wenn URLs oder andere Zeichenfolgen in ähnlichen Formaten analysiert werden.
Nach dem Beherrschen dieser Techniken können Sie die Erkundung von Erkundungen verwenden, um String-Daten in verschiedenen tatsächlichen Projekten zu verarbeiten und mehrdimensionale Array-Strukturen aufzubauen.
Verwandte Tags:
explode