Heim > Artikel > Backend-Entwicklung > Thinkphp-Array-Zusammenführung
Probleme bei der unendlichen Klassifizierung
Entsprechend der ID des Verzeichnisses der ersten Ebene müssen alle im Verzeichnis der ersten Ebene enthaltenen Verzeichnisse der dritten Ebene ausgelesen werden
Nach dem Auslesen der foreach-Schleife gibt es dort sind 5 Arrays. Was? Kann es zu einem Array zusammengeführt werden?
Ich habe die Funktion array_merge() verwendet, aber das Ergebnis war immer noch 5 Arrays und die Zusammenführung war nicht erfolgreich.
<code>array (size=3) 0 => array (size=2) 'type_name' => string '机油-2型' (length=11) 'type_id' => string '8' (length=1) 1 => array (size=2) 'type_name' => string '机油-3型' (length=11) 'type_id' => string '9' (length=1) 2 => array (size=2) 'type_name' => string '机油-4型' (length=11) 'type_id' => string '10' (length=2) array (size=1) 0 => array (size=2) 'type_name' => string '菲利普斯' (length=12) 'type_id' => string '20' (length=2) array (size=1) 0 => array (size=2) 'type_name' => string '菲利普斯1' (length=13) 'type_id' => string '21' (length=2) array (size=1) 0 => array (size=2) 'type_name' => string '菲利普斯1212' (length=16) 'type_id' => string '22' (length=2) array (size=1) 0 => array (size=2) 'type_name' => string '汽油泵22型' (length=14) 'type_id' => string '19' (length=2)</code>
Probleme bei der unendlichen Klassifizierung
Entsprechend der ID des Verzeichnisses der ersten Ebene müssen alle im Verzeichnis der ersten Ebene enthaltenen Verzeichnisse der dritten Ebene ausgelesen werden
Nach dem Auslesen der foreach-Schleife gibt es dort sind 5 Arrays. Was? Kann es zu einem Array zusammengeführt werden?
Ich habe die Funktion array_merge() verwendet, aber das Ergebnis war immer noch 5 Arrays und die Zusammenführung war nicht erfolgreich.
<code>array (size=3) 0 => array (size=2) 'type_name' => string '机油-2型' (length=11) 'type_id' => string '8' (length=1) 1 => array (size=2) 'type_name' => string '机油-3型' (length=11) 'type_id' => string '9' (length=1) 2 => array (size=2) 'type_name' => string '机油-4型' (length=11) 'type_id' => string '10' (length=2) array (size=1) 0 => array (size=2) 'type_name' => string '菲利普斯' (length=12) 'type_id' => string '20' (length=2) array (size=1) 0 => array (size=2) 'type_name' => string '菲利普斯1' (length=13) 'type_id' => string '21' (length=2) array (size=1) 0 => array (size=2) 'type_name' => string '菲利普斯1212' (length=16) 'type_id' => string '22' (length=2) array (size=1) 0 => array (size=2) 'type_name' => string '汽油泵22型' (length=14) 'type_id' => string '19' (length=2)</code>
Verwenden Sie die Funktion array_merge()
, um mehrere eindimensionale Arrays zu kombinieren.
Ich habe es einfach falsch gesehen. Es stellt sich heraus, dass es sich um zweidimensionale Arrays handelt. Dann können Sie das Array erst nach foreach zusammenstellen.
Wie oft hat der Fragesteller die Datenbank überprüft? Tatsächlich können Sie es einmal erkennen und später damit umgehen.
Ich weiß nicht, wie es dem Poster gelungen ist, die Zusammenführung immer noch so zu gestalten wie zuvor? Oder entspricht die Struktur, die das Plakat anstrebt, nicht Ihrer Beschreibung?
<code><?php $array1 = [ [ 'type_name' => '机油-2型', 'type_id' => '8' ], [ 'type_name' => '机油-2型', 'type_id' => '2' ], [ 'type_name' => '机油-2型', 'type_id' => '3' ], ]; $array2 = [ [ 'type_name' => '机油-2型', 'type_id' => '6' ], [ 'type_name' => '机油-2型', 'type_id' => '22' ], ]; $arrays = array_merge($array1, $array2); var_dump($arrays);</code>