Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Array_Column, um den angegebenen Schlüsselwert des assoziativen Arrays zu extrahieren

Verwenden Sie Array_Column, um den angegebenen Schlüsselwert des assoziativen Arrays zu extrahieren

M66 2025-04-28

In PHP ist Array_Column eine sehr nützliche Funktion, die den Wert einer bestimmten Spalte aus einem mehrdimensionalen Array extrahiert. Diese Funktion eignet sich sehr bequem für die Behandlung von assoziativen Arrays, insbesondere wenn Sie den Wert eines bestimmten Schlüssels aus dem Datensatz herausfiltern müssen.

Grundlegende Verwendung der Funktion array_column Funktion

Die Funktion array_column akzeptiert drei Parameter:

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

  • $ column_key : Der Spaltenname oder die Spaltenschlüssel zum Extrahieren (kann der Index des Arrays sein).

  • $ index_key : ein optionaler Parameter, um den Schlüssel im Ergebnisarray anzugeben. Wenn nicht angegeben, werden numerische Indizes standardmäßig verwendet.

Beispiel 1: Extrahieren Sie den Wert eines bestimmten Schlüssels aus einem Array

Angenommen, wir haben ein mehrdimensionales Array. Jedes Element repräsentiert die relevanten Informationen eines Benutzers, einschließlich der ID- , Name- und E-Mail- Felder. Wir können Array_Column verwenden, um die E-Mail -Adressen aller Benutzer zu extrahieren:

 <?php
$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);
?>

Ausgabe:

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

In diesem Beispiel extrahieren wir das E -Mail -Feld für jeden Benutzer.

Beispiel 2: Verwenden Sie den Index_Key -Parameter, um neu zu indeminieren

Manchmal möchten wir beim Extrahieren einer Spalte einen Schlüsselwert als Index des Rückgabearrays verwenden. Wenn wir beispielsweise die ID des Benutzers als Schlüssel des Arrays anstelle des Standard -Numeric Index verwenden möchten, können wir den dritten Parameter $ index_key verwenden, um anzugeben:

 <?php
$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', 'id');
print_r($emails);
?>

Ausgabe:

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

Zu diesem Zeitpunkt nimmt das zurückgegebene Array den ID als Schlüssel, nicht als numerischer Index.

Beispiel 3: Extrahieren und modifizieren Sie URL aus dem mehrdimensionalen Array

Angenommen, Sie erhalten eine Reihe von Daten, die URLs von einer API -Schnittstelle enthalten. Sie müssen jedoch alle Domain -Namen durch einheitlich durch m66.net ersetzen. Sie können Array_Column und Array_MAP verwenden, um diese Anforderung zu erreichen:

 <?php
$products = [
    ['id' => 1, 'name' => 'Product A', 'url' => 'https://example.com/product-a'],
    ['id' => 2, 'name' => 'Product B', 'url' => 'https://example.com/product-b'],
    ['id' => 3, 'name' => 'Product C', 'url' => 'https://example.com/product-c']
];

// Alle extrahieren URL
$urls = array_column($products, 'url');

// ersetzen URL Domain -Name in
$updatedUrls = array_map(function($url) {
    return preg_replace('/https:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);

print_r($updatedUrls);
?>

Ausgabe:

 Array
(
    [0] => https://m66.net/product-a
    [1] => https://m66.net/product-b
    [2] => https://m66.net/product-c
)

Durch die Funktion von Array_Map und PREG_REPLACE ersetzen wir alle URL -Domänennamen durch m66.net .

Zusammenfassung

  • Die Funktion array_column kann die Werte einer bestimmten Spalte aus einem mehrdimensionalen Array extrahieren.

  • Sie können den Schlüsselwert des Rückgabearrays mit dem Parameter $ index_key angeben.

  • Kombinieren Sie Funktionen wie Array_MAP und PREG_REPLACE , es ist möglich, URLs in Daten einfach zu verarbeiten und zu ändern.

Array_Column ist ein leistungsstarkes Tool, mit dem wir Daten in assoziativen Arrays effizienter verarbeiten können, insbesondere wenn es erforderlich ist, spezifische Informationen aus komplexen Datenstrukturen zu extrahieren.

Teilen von Zeilen zwischen dem Text und dem vorherigen Teil: