In der E-Commerce-Entwicklung müssen wir bei der Verarbeitung von Auftragsinformationen häufig bestimmte Daten aus dem Order-Array extrahieren, z. B. die Produkt-ID. PHP liefert eine sehr praktische Funktion Array_Column () , die leicht eine Datenspalte aus einem mehrdimensionalen Array extrahieren kann. Dieser Artikel zeigt anhand von Beispielen, wie die Funktion array_column () die Produkt-ID in der E-Commerce-Reihenfolge schnell extrahiert.
Die Funktion array_column () ist eine in PHP integrierte Array-Funktionsfunktion, mit der Daten aus einer Spalte der Daten aus einem mehrdimensionalen Array extrahiert werden. Die grundlegende Syntax dieser Funktion lautet wie folgt:
array_column(array $input, mixed $column_key, mixed $index_key = null): array
$ input : Das Eingangsarray, auf das betrieben wird.
$ column_key : extrahierter Spaltenname (kann der Schlüsselname des Arrays sein).
$ index_key : optional, Index des Ergebnisarrays.
Diese Funktion gibt ein Array zurück, das die extrahierten Spalten enthält.
Angenommen, wir haben eine Reihe von E-Commerce-Auftragsdaten, jede Bestellung enthält mehrere Elemente, und unser Ziel ist es, die IDs dieser Elemente zu extrahieren.
$orders = [
[
'order_id' => 'A123',
'items' => [
['product_id' => 1001, 'quantity' => 2],
['product_id' => 1002, 'quantity' => 1],
],
],
[
'order_id' => 'B456',
'items' => [
['product_id' => 1003, 'quantity' => 3],
['product_id' => 1004, 'quantity' => 1],
],
],
];
Unser Ziel ist es, die Element -ID aus jeder Bestellung zu extrahieren. Sie können die Funktion array_column () verwenden, um sie zu extrahieren.
$productIds = [];
foreach ($orders as $order) {
$productIds[] = array_column($order['items'], 'product_id');
}
print_r($productIds);
Array
(
[0] => Array
(
[0] => 1001
[1] => 1002
)
[1] => Array
(
[0] => 1003
[1] => 1004
)
)
Wenn Sie die Element -IDs in allen Bestellungen in ein flaches Array zusammenführen möchten, anstatt die Array -Struktur jeder Bestellung beizubehalten, können Sie die Funktion array_merge () verwenden, um sie zu implementieren:
$productIds = [];
foreach ($orders as $order) {
$productIds = array_merge($productIds, array_column($order['items'], 'product_id'));
}
print_r($productIds);
Array
(
[0] => 1001
[1] => 1002
[2] => 1003
[3] => 1004
)
Durch den obigen Code haben wir die Element -IDs in allen Bestellungen erfolgreich extrahiert und sie in ein flaches Array verschmolzen.
Wenn die Bestelldaten von einer Remote -Schnittstelle oder -API stammen, können wir Datei_get_Contents () oder Curl verwenden, um die Daten zu erhalten. Angenommen, die Auftragsdaten stammen aus einer API mit der URL https://m66.net/api/orders . Wir können die Bestelldaten abrufen und die Element -ID über den folgenden Code extrahieren: