Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gruppiere ich Subarrays nach einer Spalte und erzeuge durch Kommas getrennte Werte aus einer anderen Spalte?

Wie gruppiere ich Subarrays nach einer Spalte und erzeuge durch Kommas getrennte Werte aus einer anderen Spalte?

DDD
DDDOriginal
2024-11-02 18:11:02554Durchsuche

How to Group Subarrays by One Column and Generate Comma-Separated Values from Another Column?

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!

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