Wie organisiere ich assoziative Array-Zeilen basierend auf einem bestimmten Spaltenwert?

DDD
Freigeben: 2024-10-30 11:49:03
Original
185 Leute haben es durchsucht

How to Organize Associative Array Rows Based on a Specific Column Value?

Assoziative Array-Zeilen nach Spaltenwert organisieren

Bei der Arbeit mit einem assoziativen Array, das aus Unterarrays besteht, ist es oft notwendig, die Daten basierend neu zu organisieren auf bestimmte Spaltenwerte. Dies ermöglicht eine einfachere Datenabfrage und -analyse.

Angenommen, wir haben ein Array von Subarrays im folgenden Format:

[
    'a' => ['id' => 20, 'name' => 'chimpanzee'],
    'b' => ['id' => 40, 'name' => 'meeting'],
    'c' => ['id' => 20, 'name' => 'dynasty'],
    'd' => ['id' => 50, 'name' => 'chocolate'],
    'e' => ['id' => 10, 'name' => 'bananas'],
    'f' => ['id' => 50, 'name' => 'fantasy'],
    'g' => ['id' => 50, 'name' => 'football']
]
Nach dem Login kopieren

Unser Ziel ist es, diese Subarrays basierend auf dem in einem neuen Array zu gruppieren 'id'-Feld in jedem Subarray vorhanden.

Um dies zu erreichen, können wir die folgenden Schritte ausführen:

  1. Ein leeres Array initialisieren:
$arr = array();
Nach dem Login kopieren
  1. Durchlaufen Sie jedes Unterarray im ursprünglichen Array. Extrahieren Sie für jedes Unterarray seinen „id“-Wert und verwenden Sie ihn als Schlüssel im neuen Array:
foreach ($old_arr as $key => $item) {
   $arr[$item['id']][$key] = $item;
}
Nach dem Login kopieren
  1. Dieser Schritt sortiert das neue Array nach „id“ in aufsteigender Reihenfolge:
ksort($arr, SORT_NUMERIC);
Nach dem Login kopieren
  1. Schließlich wird das resultierende Array nach „id“-Werten organisiert:
array
(
    10 => array
          (
            e => array ( id = 10, name = bananas )
          )
    20 => array
          (
            a => array ( id = 20, name = chimpanzee )
            c => array ( id = 20, name = dynasty )
          )
    40 => array
          (
            b => array ( id = 40, name = meeting )
          )
    50 => array
          (
            d => array ( id = 50, name = chocolate )
            f => array ( id = 50, name = fantasy )
            g => array ( id = 50, name = football )
          )
)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie organisiere ich assoziative Array-Zeilen basierend auf einem bestimmten Spaltenwert?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!