Heim > Backend-Entwicklung > PHP-Tutorial > Wie können Sie Subarrays in PHP basierend auf einer Spalte gruppieren und durch Kommas getrennte Werte aus einer anderen Spalte innerhalb dieser Gruppen erstellen?

Wie können Sie Subarrays in PHP basierend auf einer Spalte gruppieren und durch Kommas getrennte Werte aus einer anderen Spalte innerhalb dieser Gruppen erstellen?

Mary-Kate Olsen
Freigeben: 2024-11-02 15:54:29
Original
523 Leute haben es durchsucht

How can you group subarrays in PHP based on one column and create comma-separated values from another column within those groups?

Unterarrays nach einer Spalte gruppieren und durch Kommas getrennte Werte aus einer anderen Spalte innerhalb von Gruppen erstellen

In PHP werden Unterarrays nach einer Spalte gruppiert und Das Verketten von Werten aus einer anderen Spalte innerhalb dieser Gruppen stellt eine besondere Herausforderung dar. Um dieses Problem anzugehen, bieten wir eine detaillierte Lösung an, die ein gegebenes Array in ein gewünschtes strukturiertes Format umwandelt.

Das bereitgestellte Beispielarray besteht aus Unterarrays mit jeweils zwei Elementen. Das Ziel besteht darin, Unterarrays basierend auf dem zweiten Element (bekannt als „Spalte“) zu gruppieren und ein neues Array zu erstellen, in dem jedes Element eine Gruppe darstellt. Innerhalb jedes Gruppenelements sollte das erste Element eine durch Kommas getrennte Liste der ersten Elemente aus den gruppierten Unterarrays sein, während das zweite Element die gemeinsame Spalte darstellt.

Um dies zu erreichen, verwenden wir eine Schritt-für- Schrittweiser Ansatz:

  1. Schleife durch das ursprüngliche Array: Beginnen Sie mit der Iteration durch jedes Unterarray im ursprünglichen Array.
  2. Überprüfen Sie den Gruppenschlüssel: Überprüfen Sie für jedes Unterarray, ob das zweite Element (Gruppenschlüssel) in einem neuen Array namens $groups vorhanden ist. Wenn nicht, initialisieren Sie ein leeres Array für diesen Gruppenschlüssel.
  3. Unterarray zur Gruppe hinzufügen: Sobald der Gruppenschlüssel vorhanden ist, fügen Sie das erste Element des aktuellen Unterarrays zum entsprechenden Gruppenarray hinzu.
  4. Erstellen Sie das strukturierte Array: Nachdem Sie das ursprüngliche Array verarbeitet haben, durchlaufen Sie eine Schleife durch das $groups-Array. Verketten Sie für jede Gruppe die Werte ihrer ersten Elemente mit einem Komma und speichern Sie sie in einem neuen Array. Kombinieren Sie dies mit dem Gruppenschlüssel, um die gewünschte Struktur zu erstellen.

Das unten bereitgestellte PHP-Skript demonstriert diesen Ansatz:

<code class="php">// Create the input array
$data = array(
    array('444', '0081'),
    array('449', '0081'),
    array('451', '0081'),
    array('455', '2100'),
    array('469', '2100')
);

// Initialize the groups array
$groups = array();

// Loop through the original array
foreach ($data as $item) {
    $key = $item[1];  // Get the group key

    // Check if the group key exists
    if (!array_key_exists($key, $groups)) {
        $groups[$key] = array();
    }

    // Add the subarray to the group
    $groups[$key][] = $item[0];
}

// Create the structured array
$structured = array();
foreach ($groups as $group => $values) {
    $structured[] = array(implode(',', $values), $group);
}

// Display the output
print_r($structured);</code>
Nach dem Login kopieren

Dieses Skript wandelt das Eingabearray effektiv in ein neues Array um mit der angegebenen Struktur, wobei Unterarrays basierend auf einer gemeinsamen Spalte gruppiert werden und die ersten Elemente gruppierter Unterarrays mit Kommas verkettet werden.

Das obige ist der detaillierte Inhalt vonWie können Sie Subarrays in PHP basierend auf einer Spalte gruppieren und durch Kommas getrennte Werte aus einer anderen Spalte innerhalb dieser Gruppen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage