Aktueller Standort: Startseite> Neueste Artikel> Wie extrahiere ich mehrere Datenspalten in einem mehrdimensionalen Array mit der Funktion array_column in PHP?

Wie extrahiere ich mehrere Datenspalten in einem mehrdimensionalen Array mit der Funktion array_column in PHP?

M66 2025-04-29

In PHP kann die Funktion array_column problemlos bestimmte Spaltendaten aus einem mehrdimensionalen Array extrahieren. Es wird häufig verwendet, um eine bestimmte Spalte aus einem assoziativen Array oder einem mehrdimensionalen Array für die anschließende Verarbeitung zu extrahieren. Als nächstes werden wir uns mit der Verwendung der Funktion von Array_Column eintauchen, um mehrspaltige Daten aus einem mehrdimensionalen Array zu extrahieren.

1. Grundnutzung

Die grundlegende Syntax der Funktion array_column lautet wie folgt:

 array_column(array $array, $column_key, $index_key = null): array
  • $ Array : Das multidimensionale Eingangsarray.

  • $ column_key : Der Schlüsselname der Spalte, der extrahiert werden muss.

  • $ index_key : (optional) wird als Schlüssel zur Rückgabe des Arrays verwendet. Wenn nicht bereitgestellt, ist das zurückgegebene Array ein indiziertes Array.

Beispiel 1: Extrahieren von Einzelspaltendaten

Schauen wir uns zunächst ein einfaches Beispiel an, das zeigt, wie einzelne Spaltendaten aus einem mehrdimensionalen Array extrahiert werden:

 <?php
$data = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];

$emails = array_column($data, 'email');

print_r($emails);
?>

Ausgangsergebnis:

 Array
(
    [0] => alice@m66.net
    [1] => bob@m66.net
    [2] => charlie@m66.net
)

In diesem Beispiel verwenden wir Array_Column , um die E -Mail -Spalte zu extrahieren.

2. extrahieren Sie mehrere Datenspalten

Array_Column kann nur eine Datenspalte extrahieren. Wenn Sie jedoch mehrere Datenspalten extrahieren möchten, können Sie die Kombination von Array_Column und Array_Map verwenden, um dies zu erreichen. Hier ist ein Beispiel, das zeigt, wie mehrere Spalten extrahiert werden:

Beispiel 2: Extrahieren mehrerer Datenspalten von Daten

 <?php
$data = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];

$namesAndEmails = array_map(function($item) {
    return [
        'name'  => $item['name'],
        'email' => $item['email'],
    ];
}, $data);

print_r($namesAndEmails);
?>

Ausgangsergebnis:

 Array
(
    [0] => Array
        (
            [name] => Alice
            [email] => alice@m66.net
        )
    [1] => Array
        (
            [name] => Bob
            [email] => bob@m66.net
        )
    [2] => Array
        (
            [name] => Charlie
            [email] => charlie@m66.net
        )
)

In diesem Beispiel verwenden wir die Funktion array_map , um die Namen und E -Mail -Spalten in ein neues Array zu extrahieren.

3.. Verwenden Sie Array_Column , um mehrere Datenspalten zu extrahieren

Wenn Sie über Array_Column mehrere Spaltendaten extrahieren möchten, können Sie sie normalerweise in Verbindung mit Array_Column mit einigen anderen Funktionen verwenden. Wenn Sie sich beispielsweise nur um eine Spalte kümmern und andere Daten für Korrelationsvorgänge benötigen, finden Sie hier ein komplexeres Beispiel.

Beispiel 3: Daten extrahieren und neu organisiert Daten aus einem mehrdimensionalen Array

 <?php
$data = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];

$names = array_column($data, 'name');
$emails = array_column($data, 'email');

// Zwei Arrays zusammenführen
$merged = array_map(null, $names, $emails);

print_r($merged);
?>

Ausgangsergebnis:

 Array
(
    [0] => Array
        (
            [0] => Alice
            [1] => alice@m66.net
        )
    [1] => Array
        (
            [0] => Bob
            [1] => bob@m66.net
        )
    [2] => Array
        (
            [0] => Charlie
            [1] => charlie@m66.net
        )
)

In diesem Beispiel verwenden wir Array_Column , um die Namen und E-Mail- Spalten zu extrahieren und sie dann in ein zweidimensionales Array durch die Funktion array_map zu verschmelzen.

4. Zusammenfassung

  • Array_Column ist ein sehr leistungsfähiges Tool, mit dem Sie in einem Array problemlos eine Datenspalte extrahieren können.

  • Bei mehreren Spaltenextraktion können Sie zwar nur einzelne Spalten verarbeiten, aber die Anforderung, mehrere Spalten zu extrahieren, indem Sie andere Funktionen wie Array_Map kombinieren.

  • Array_Column ist effizienter, insbesondere wenn es sich um große Daten handelt, was effizienter ist als manuelle Schleifen.

Durch die Verwendung von Array_Column und anderen Array -Funktionen vernünftigerweise können Sie mehrdimensionale Array -Daten in PHP effizienter verarbeiten.