Aktueller Standort: Startseite> Neueste Artikel> Analyse des Unterschieds zwischen Array_Column und Array_Map

Analyse des Unterschieds zwischen Array_Column und Array_Map

M66 2025-05-11

PHP ist eine leistungsstarke Programmiersprache, die bei der Verarbeitung von Arrays viele integrierte Funktionen bietet. Unter ihnen sind Array_Column und Array_Map zwei häufig verwendete Funktionen. Obwohl beide für Array -Operationen verwendet werden, sind ihre Nutzungsszenarien und Funktionen sehr unterschiedlich. Heute werden wir die Unterschiede zwischen den beiden Funktionen und unter welchen Umständen untersuchen, unter welchen Umständen wir einen von ihnen verwenden sollten.

Einführung in Array_Column

Die Funktion array_column wird verwendet, um den Wert einer einzelnen Spalte aus einem mehrdimensionalen Array zu extrahieren. Diese Funktion wird üblicherweise in Szenarien verwendet, in denen Datenbankabfrageergebnisse (normalerweise zweidimensionale Arrays) verarbeitet werden oder eine bestimmte Datenspalte aus einem mehrdimensionalen Array erhalten werden muss.

Funktionsdefinition:

 array_column(array $input, $column_key, $index_key = null): array

Parameterbeschreibung:

  • $ input : Das mehrdimensionale Eingangsarray.

  • $ column_key : Der Schlüsselname der Spalte, die Sie extrahieren möchten (kann eine Zeichenfolge oder eine Ganzzahl sein).

  • $ index_key (optional): Wenn dieser Parameter bereitgestellt wird, verwendet das zurückgegebene Array diesen Schlüssel als Index.

Beispiel:

Angenommen, wir haben ein mehrdimensionales Array mit Benutzerinformationen und möchten die E -Mail -Adressen aller Benutzer extrahieren:

 $users = [
    ['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($users, 'email');
print_r($emails);

Ausgabe:

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

In diesem Beispiel extrahiert Array_Column die E-Mail-Adressen aller Benutzer und gibt ein eindimensionales Array zurück, das alle E-Mail-Adressen enthält.

Einführung in Array_Map

Die Funktion array_map wird verwendet, um eine Rückruffunktion auf jedes Element des Arrays anzuwenden. Sie können das Array durch das Array iterieren und jedes Element verarbeiten und das verarbeitete Neuarray zurückgeben. Gemeinsame Verwendungen von Array_MAP enthalten das Konvertieren von Array -Elementen, Verarbeitungszeichenfolgen oder Zahlen usw.

Funktionsdefinition:

 array_map(callable $callback, array $array, array ...$arrays): array

Parameterbeschreibung:

  • $ Callback : Eine Rückruffunktion, die jedes Element in einem Array übernimmt.

  • $ Array : Das zu verarbeitende Array.

  • ... $ arrays (optional): Mehrere Arrays können übergeben werden, und die Rückruffunktion wird nacheinander auf die entsprechenden Elemente dieser Arrays angewendet.

Beispiel:

Angenommen, wir haben ein Array mit Benutzer -E -Mail -Adressen und möchten alle E -Mail -Adressen in Großbuchstaben umwandeln:

 $emails = ['alice@m66.net', 'bob@m66.net', 'charlie@m66.net'];

$uppercasedEmails = array_map('strtoupper', $emails);
print_r($uppercasedEmails);

Ausgabe:

 Array
(
    [0] => ALICE@M66.NET
    [1] => BOB@M66.NET
    [2] => CHARLIE@M66.NET
)

In diesem Beispiel wandelt Array_Map jede E -Mail -Adresse in Großbuchstaben um.

Der Unterschied zwischen Array_Column und Array_Map

Merkmal Array_Column Array_Map
Wirkung Extrahieren Sie eine Spalte in einem mehrdimensionalen Array Wenden Sie eine Rückruffunktion auf jedes Element im Array an
Geben Sie Parameter ein Ein mehrdimensionales Array und die Schlüsselnamen der zu extrahierenden Spalten Eine Array- und Rückruffunktion (kann auch mehrere Arrays übergeben)
Ausgabe Gibt ein Array zurück, das die angegebenen Spalten enthält Gibt ein Array mit verarbeiteten Elementen zurück
verwenden Wird verwendet, um Daten aus einer bestimmten Spalte zu extrahieren, die häufig zur Verarbeitung von Datenbankabfrageergebnissen verwendet wird Wird verwendet, um eine Art von Konvertierung oder Verarbeitung in jedem Element eines Arrays durchzuführen

Wann verwenden Sie Array_Column ?

  • Spaltendaten extrahieren : Wenn Sie ein mehrdimensionales Array haben und sich nur um eine der Spalten kümmern, ist die Verwendung von Array_Column die am besten geeignete Wahl.

  • Datenbankabfrageergebnisse : Wenn Sie ein mehrdimensionales Array aus der Datenbank abrufen (z. B. jeder Datensatz ist ein Sub-Array), können Sie Array_Column verwenden, um ein Feld in allen Datensätzen zu extrahieren.

Wann verwenden Sie Array_Map ?

  • Array Conversion : Array_Map ist sehr nützlich, wenn Sie eine bestimmte Konvertierung (z. B. Formatierung, Berechnung, Filterung usw.) auf jedes Element im Array anwenden müssen.

  • Batch -Verarbeitung von Array -Elementen : Array_Map kann schnell implementiert werden, wenn Sie bestimmte Operationen auf dem Array (z. B. String -Konvertierung, mathematische Berechnungen usw.) ausführen müssen, und die Operationen sind für jedes Element im Array.

abschließend

  • Wenn Sie nur Daten aus einer Spalte aus einem mehrdimensionalen Array extrahieren müssen, ist Array_Column die beste Wahl, die alle Werte dieser Spalte effizient erhalten und zurückgeben kann.

  • Wenn Sie eine Operation oder eine Transformation auf jedes Element in einem Array anwenden müssen, ist die Verwendung von Array_MAP angemessener, wodurch Sie die Flexibilität erhalten, jedes Element zu verarbeiten und das verarbeitete Array zurückzugeben.

Die Auswahl der richtigen Funktion kann nicht nur die Lesbarkeit des Codes verbessern, sondern auch eine bessere Leistung bei der Ausführungseffizienz erzielen. Ich hoffe, dass Sie durch diesen Artikel ein klareres Verständnis der Unterschiede zwischen diesen beiden Funktionen und ihren Anwendungsszenarien haben können.