Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erklärung der grundlegenden Verwendung von PHP Array_Column

Detaillierte Erklärung der grundlegenden Verwendung von PHP Array_Column

M66 2025-04-28

In PHP ist Array_Column () eine sehr praktische Funktion, die Daten aus einer Spalte aus einem mehrdimensionalen Array extrahieren kann. Diese Funktion eignet sich besonders für die Verarbeitung von Arrays mit großen Datenmengen und hilft uns, schnell spezifische Spalteninformationen zu erhalten. Als nächstes werden wir die Verwendung der Funktion von Array_Column () , Parameteranalyse und einigen gemeinsamen Anwendungsszenarien eingehend untersuchen.

Grundlegende Einführung in die Funktion array_column ()

Die Funktion array_column () wird verwendet, um Daten aus einer Spalte aus einem zweidimensionalen Array zu extrahieren, und wird normalerweise verwendet, um den Wert eines angegebenen Schlüssels in einem mehrdimensionalen Array zu extrahieren. Wenn Sie beispielsweise eine Reihe von Benutzerinformationen haben, möchten Sie möglicherweise die E -Mail -Adressen oder Benutzernamen aller Benutzer extrahieren.

Funktionssyntax

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

  • $ column_key : Die Taste der Spalte, die zurückgegeben wird (kann der Index des Arrays oder der Schlüsselname des assoziativen Arrays sein).

  • $ index_key : optional, wie die Spalte des Index (kann der Schlüsselname des Arrays sein).

Gemeinsame Verwendung der Funktion array_column ()

1. Extrahieren Sie eine einzelne Spalte aus einem mehrdimensionalen Array

Angenommen, Sie haben das folgende Array von Benutzerdaten und möchten nur die E -Mail -Adressen aller Benutzer abrufen.

 $users = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];

$emails = array_column($users, 'email');
print_r($emails);

Ausgangsergebnis:

 Array
(
    [0] => alice@example.com
    [1] => bob@example.com
    [2] => charlie@example.com
)

2. Extrahieren Sie die angegebene Spalte aus dem mehrdimensionalen Array und setzen Sie den Index

Manchmal möchten wir nicht nur eine Spalte im Array extrahieren, sondern diese Spalte auch als Index des Neuarrays festlegen. Wenn Sie beispielsweise die ID als Index festlegen möchten, extrahieren Sie die Namen aller Benutzer:

 $users = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];

$names = array_column($users, 'name', 'id');
print_r($names);

Ausgangsergebnis:

 Array
(
    [1] => Alice
    [2] => Bob
    [3] => Charlie
)

3.. Spaltendaten mit benutzerdefinierten Schlüsselnamen extrahieren

Wenn Sie die Schlüsselnamen des Array nicht direkt verwenden möchten, sondern einen benutzerdefinierten Schlüsselnamen zum Extrahieren verwenden können, können Sie es auch über die Funktion array_column () implementieren. Extrahieren Sie beispielsweise die E -Mail -Adresse des Benutzers und setzen Sie den Namen auf den Index:

 $users = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];

$emails = array_column($users, 'email', 'name');
print_r($emails);

Ausgangsergebnis:

 Array
(
    [Alice] => alice@example.com
    [Bob] => bob@example.com
    [Charlie] => charlie@example.com
)

Erweiterte Anwendungsszenarien von Array_Column ()

1. Extrahieren und Filterdaten aus mehrdimensionalen Arrays

Manchmal müssen wir die Daten gleichzeitig filtern, wenn wir eine bestimmte Spalte extrahieren. Obwohl die Funktion array_column () selbst keine Filterung unterstützt, können Sie dies in Kombination mit anderen Funktionen tun.

Angenommen, Sie haben ein Bestellarray, das alle Bestell -IDs mit einer Menge von mehr als 100 extrahieren möchte:

 $orders = [
    ['order_id' => 1, 'amount' => 50],
    ['order_id' => 2, 'amount' => 150],
    ['order_id' => 3, 'amount' => 200],
    ['order_id' => 4, 'amount' => 75]
];

$filtered_orders = array_filter($orders, function($order) {
    return $order['amount'] > 100;
});

$order_ids = array_column($filtered_orders, 'order_id');
print_r($order_ids);

Ausgangsergebnis:

 Array
(
    [1] => 2
    [2] => 3
)

2. Zusammenführen Arrays

Array_Column () kann auch in Kombination mit Funktionen wie Array_Map () verwendet werden, um die Verarbeitung von Daten gleichzeitig beim Extrahieren von Spaltendaten zu erreichen.

Dinge zu beachten

  1. Indexierungsproblem : Array_Column () gibt nur den Wert der angegebenen Spalte zurück und behält nicht die Schlüssel des ursprünglichen Arrays bei. Wenn Sie den Index behalten müssen, können Sie eine zusätzliche Verarbeitung in Betracht ziehen.

  2. Leistungsprobleme : Array_Column () ist eine relativ effiziente Funktion, aber die Leistung ist immer noch ein Problem im Umgang mit sehr großen Arrays. Wenn Sie mit riesigen Datensätzen arbeiten müssen, können Sie andere optimiertere Methoden in Betracht ziehen.

Zusammenfassen

Die Funktion array_column () ist ein sehr leistungsstarkes Werkzeug und wird häufig in PHP verwendet, um Daten aus bestimmten Spalten aus multidimensionalen Arrays zu extrahieren. Durch flexible Verwendung der Parameter können Sie die Spaltendaten des Arrays problemlos extrahieren und die Index- und Filterbedingungen anpassen. Unabhängig davon, ob Benutzerdaten, Bestelldaten oder andere Formen komplexer Arrays verarbeitet werden , können Sie Ihren Code erheblich vereinfachen und die Effizienz verbessern.