Aktueller Standort: Startseite> Neueste Artikel> Benutzerdefinierte Spaltenindex- und Spaltenwert -Kombinationsextraktion

Benutzerdefinierte Spaltenindex- und Spaltenwert -Kombinationsextraktion

M66 2025-05-11

In PHP ist die Funktion array_column ein sehr leistungsstarkes Tool, mit dem Sie Daten aus einer bestimmten Spalte aus einem mehrdimensionalen Array extrahieren können. Normalerweise wird Array_Column verwendet, um alle Werte einer Spalte aus einem zweidimensionalen Array zu extrahieren. Wir können jedoch auch den extrahierten Inhalt mit einigen Tricks anpassen, z. B. das Extrahieren der Kombination von Spaltenindizes und -Werten. Als nächstes werde ich erklären, wie ich dies erreichen kann.

Array_Column -Funktionsübersicht

Lassen Sie uns zunächst kurz die grundlegende Verwendung der Funktion array_column überprüfen. Seine Syntax ist wie folgt:

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

  • $ column_key : Die Taste der zu extrahierenden Spalte (kann ein Spaltenname oder Index sein).

  • $ index_key (optional): Gibt die als Indextaste verwendete Spalte an, um jedes Element im Array zurückzugeben.

Angenommen, Sie haben ein zweidimensionales Array wie folgt:

 $people = [
    ['id' => 1, 'name' => 'John', 'age' => 25],
    ['id' => 2, 'name' => 'Jane', 'age' => 30],
    ['id' => 3, 'name' => 'Tom', 'age' => 35]
];

Sie können Array_Column verwenden, um bestimmte Spalten zu extrahieren, z. B. das Extrahieren von Namensspalten :

 $names = array_column($people, 'name');
print_r($names);

Das Ausgangsergebnis ist:

 Array
(
    [0] => John
    [1] => Jane
    [2] => Tom
)

Wenn wir nun die Kombination aus Index und Wert der Spalte extrahieren möchten, können wir dies mit ein wenig Modifikation tun.

Passen Sie die Kombination von Extraktindex und Wert an

Um die Kombination der Spaltenindizes und -Werte im Extraktionsarray anzupassen, können wir die Funktion array_column verwenden, um die Zielspalte zu extrahieren und dann das Spaltenarray durchzusetzen, um die Indizes und Werte zu kombinieren. Zum Beispiel können wir die Spalte des Namens extrahieren und mit der entsprechenden ID indexieren und schließlich ein Array ausgeben, das aus ID- und Namensschlüsselwertpaaren besteht.

Beispielcode

 $people = [
    ['id' => 1, 'name' => 'John', 'age' => 25],
    ['id' => 2, 'name' => 'Jane', 'age' => 30],
    ['id' => 3, 'name' => 'Tom', 'age' => 35]
];

// Extrakt id Und name Kombination von Spalten
$result = array_column($people, 'name', 'id');

// Ausgangsergebnis
print_r($result);

Ergebnisse Ausgabe

 Array
(
    [1] => John
    [2] => Jane
    [3] => Tom
)

In diesem Beispiel extrahiert Array_Column ($ people, 'name', 'id') die Spalte Name und generiert ein neues Array mit ID als Index. Auf diese Weise erhalten wir eine Reihe von ID und Namen .

Komplexere benutzerdefinierte Extraktion

Wenn wir eine Kombination mehrerer Spalten aus einem Array extrahieren müssen, kann Array_Column die Anforderungen nicht direkt erfüllen. Zu diesem Zeitpunkt kann es durch benutzerdefinierte Funktionen implementiert werden. Angenommen, wir möchten die Spalten von ID und Alter in ein Array mit ID als Index kombinieren, und der Wert ist ein Subarray mit Namen und Alter .

Beispielcode

 $people = [
    ['id' => 1, 'name' => 'John', 'age' => 25],
    ['id' => 2, 'name' => 'Jane', 'age' => 30],
    ['id' => 3, 'name' => 'Tom', 'age' => 35]
];

$result = [];
foreach ($people as $person) {
    $result[$person['id']] = ['name' => $person['name'], 'age' => $person['age']];
}

// Ausgangsergebnis
print_r($result);

Ergebnisse Ausgabe

 Array
(
    [1] => Array
        (
            [name] => John
            [age] => 25
        )

    [2] => Array
        (
            [name] => Jane
            [age] => 30
        )

    [3] => Array
        (
            [name] => Tom
            [age] => 35
        )
)

In diesem Beispiel iterieren wir manuell über das Array und erstellen ein Neues Array, bei dem ID der Schlüssel und Name und Alter die Kombination von Werten sind.

Zusammenfassen

Die Funktion array_column ist ein sehr leistungsstarkes Tool, das Daten aus einer einzelnen Spalte aus einem zweidimensionalen Array extrahieren kann. Für komplexere Anforderungen wie das Extrahieren einer Kombination aus Spaltenindizes und -Werten oder einer Kombination mehrerer Spalten können wir dies erreichen, indem wir das Array durchqueren und die Verarbeitungsmethode anpassen. Durch flexible Verwendung von Array_Column und einigen einfachen Array -Vorgängen können Sie auf einfache Weise verschiedene Datenextraktions- und Formatierungsvorgänge implementieren.

Hoffentlich hilft Ihnen dieser Artikel besser zu verstehen, wie Sie die Funktion array_column verwenden und das Extrahieren von Daten aus einem Array anpassen! Wenn Sie Fragen haben, können Sie Fragen stellen!