Aufteilen eines Strings in ein mehrdimensionales Array in PHP ohne Schleifen
Um einen String in ein mehrdimensionales Array in PHP aufzuteilen, ohne auf iterative Strukturen angewiesen zu sein kann eine Kombination von Array-Funktionen verwendet werden, um das gewünschte Ergebnis zu erzielen. Betrachten Sie als Beispiel eine Zeichenfolge im Format „A,5|B,3|C,8“.
Mit array_map und explosion können Sie diese Aufgabe effizient erledigen. In PHP 5.3 und höher kann beispielsweise das folgende Code-Snippet verwendet werden:
<code class="php">$str = "A,5|B,3|C,8"; $a = array_map( function ($substr) { return explode(',', $substr); }, explode('|', $str) ); var_dump($a);</code>
Dieses Code-Snippet beginnt mit der Aufteilung der Eingabezeichenfolge in ein Array von Teilzeichenfolgen mithilfe der Explosionsfunktion, die die Zeichenfolge trennt das Pipe-Zeichen. Dann wird array_map verwendet, um die Explosionsfunktion auf jeden Teilstring anzuwenden und ihn weiter in ein Array aus zwei Elementen aufzuteilen: das erste Element enthält den Buchstaben und das zweite Element enthält die Zahl.
Das Ergebnis ist ein mehrdimensionales Array wobei jedes innere Array einem einzelnen Buchstaben-Zahlen-Paar aus der Eingabezeichenfolge entspricht:
array 0 => array 0 => string 'A' (length=1) 1 => string '5' (length=1) 1 => array 0 => string 'B' (length=1) 1 => string '3' (length=1) 2 => array 0 => string 'C' (length=1) 1 => string '8' (length=1)
Während diese Lösung explizite Schleifen im Benutzercode eliminiert, ist es wichtig zu beachten, dass array_map intern immer noch a verwendet Schleife zum Durchlaufen des Eingabearrays. Das Fehlen einer Schleife im dargestellten Code bedeutet daher nicht, dass es überhaupt keine Schleife gibt.
Das obige ist der detaillierte Inhalt vonWie teile ich einen String in PHP ohne explizite Schleifen in ein mehrdimensionales Array auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!