Heim  >  Artikel  >  Backend-Entwicklung  >  Thinkphp-Array-Zusammenführung

Thinkphp-Array-Zusammenführung

WBOY
WBOYOriginal
2016-08-18 09:15:343416Durchsuche

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>

Antwortinhalt:

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>
Stellungnahme:
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