Heim > Artikel > Backend-Entwicklung > Wie gruppiere ich Subarrays nach einer Spalte und erzeuge durch Kommas getrennte Werte aus einer anderen Spalte?
Unterarrays nach einer Spalte gruppieren und durch Kommas getrennte Werte aus einer anderen Spalte generieren
Einführung
Bei einem Array von Subarrays mit zwei Spalten besteht die Aufgabe darin, diese Subarrays nach einer Spalte zu gruppieren und neue Subarrays zu erstellen, in denen die Werte in der anderen Spalte durch Kommas getrennt sind.
Ursprüngliche Struktur:
$array = [ ["444", "0081"], ["449", "0081"], ["451", "0081"], ["455", "2100"], ["469", "2100"] ];
Gewünschte Struktur:
array ( 0 => array ( 0 => '444,449,451', 1 => '0081', ), 1 => array ( 0 => '455,469', 1 => '2100', ), )
Lösung
Eine elegante Lösung kann durch Iteration erreicht werden das ursprüngliche Array und das Sammeln von Werten in einem temporären Array basierend auf dem Gruppierungsschlüssel. Anschließend wird das temporäre Array verwendet, um die gewünschte Struktur aufzubauen.
<code class="php">$data = []; $groups = []; foreach($data as $item){ if(!array_key_exists($item[1], $groups)){ $groups[$item[1]] = []; } $groups[$item[1]][] = $item[0]; } $structured = []; foreach($groups as $group => $values){ $structured[] = [implode(',', $values), $group]; }</code>
Dieser Ansatz stellt sicher, dass Unterarrays korrekt gruppiert werden und die Werte in der anderen Spalte als durch Kommas getrennte Zeichenfolgen kombiniert werden. Es nutzt grundlegende PHP-Array-Funktionen und foreach-Schleifen, um das gewünschte Ergebnis zu erzielen.
Das obige ist der detaillierte Inhalt vonWie gruppiere ich Subarrays nach einer Spalte und erzeuge durch Kommas getrennte Werte aus einer anderen Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!