Die Funktion von PHP von Array_Column () wird häufig verwendet, um eine Datenspalte aus einem mehrdimensionalen Array zu extrahieren. Wenn Sie das Array wieder in die Runde des Arrays wieder herstellen möchten, insbesondere wenn Sie die extrahierten Spalten als Neuarray -Index verwenden möchten, kann Ihnen die Funktion array_column () bei dieser Aufgabe helfen. Lassen Sie uns ausführlich erklären, wie Sie diese Funktion verwenden, um Arrays neu zu indeminieren.
Die Funktion array_column () extrahiert alle Werte einer Spalte aus einem mehrdimensionalen Array und kann den Wert dieser Spalte als Index des Neuarrays verwenden. Die Syntax der Funktion lautet wie folgt:
array_column(array $array, mixed $column_key, mixed $index_key = null): array
$ Array : Das multidimensionale Eingangsarray.
$ column_key : Die zu extrahierende Taste der Spalte.
$ index_key : Wenn REIdex erforderlich ist, können Sie den für den Neuarray -Index verwendeten Schlüssel angeben.
Angenommen, wir haben ein mehrdimensionales Array mit Informationen über den Benutzer, einschließlich ID und Name :
$users = [
['id' => 1, 'name' => 'Alice'],
['id' => 2, 'name' => 'Bob'],
['id' => 3, 'name' => 'Charlie']
];
Wenn wir nur das Feld aller Benutzer extrahieren und das ID -Feld als Index des Neuarrays haben möchten, können wir dies tun:
$result = array_column($users, 'name', 'id');
print_r($result);
Ausgabe:
Array
(
[1] => Alice
[2] => Bob
[3] => Charlie
)
In diesem Beispiel extrahiert Array_Column () das Feld Namen für alle Benutzer und verwendet das ID -Feld als Neuarray -Index.
Wenn Sie sich nur um die Daten einer bestimmten Spalte kümmern und den Index des Arrays nicht ändern müssen, können Sie nur die Parameter $ und $ column_key übergeben:
$result = array_column($users, 'name');
print_r($result);
Ausgabe:
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
Zu diesem Zeitpunkt gibt Array_Column () ein Array zurück, das alle Benutzernamen enthält, und der Index startet bei 0.
Wenn der Schlüssel , der $ index_key entspricht, im ursprünglichen Array nicht vorhanden ist, verwendet Array_Column () den Standard -Integer -Index.
Wenn der Schlüssel, der $ column_key entspricht, in einigen Elementen des ursprünglichen Arrays nicht vorhanden ist, wird das Element im Neuarray weggelassen.
Angenommen, wir haben eine Reihe von Informationen über Produkte, jedes Produkt verfügt über eine Produkt_ID und eine URL , und wir möchten den Namen der URL- Domänen neu indizieren und ersetzen. Sie können array_column () und array_map () kombinieren, um diese Funktion zu implementieren:
$products = [
['product_id' => 101, 'url' => 'http://example.com/product/101'],
['product_id' => 102, 'url' => 'http://example.com/product/102'],
['product_id' => 103, 'url' => 'http://example.com/product/103']
];
// Produkte extrahieren URL,und ersetzen Sie den Domainnamen
$urls = array_column($products, 'url', 'product_id');
$updatedUrls = array_map(function($url) {
return preg_replace('/http:\/\/example\.com/', 'http://m66.net', $url);
}, $urls);
print_r($updatedUrls);
Ausgabe:
Array
(
[101] => http://m66.net/product/101
[102] => http://m66.net/product/102
[103] => http://m66.net/product/103
)
In diesem Beispiel extrahiert Array_Column () die URL des Produkts und ersetzt den Domänennamen in der URL mit array_map () und preg_replace () .
Array_Column () ist eine sehr leistungsstarke Funktion, die zum Extrahieren von Daten aus einer bestimmten Spalte aus einem mehrdimensionalen Array geeignet ist und die Umordnung des resultierenden Arrays durch Angabe eines Index unterstützt. Es vereinfacht die Komplexität des Codes im Umgang mit mehrdimensionalen Arrays erheblich. In der tatsächlichen Entwicklung können die Verwendung anderer Funktionen wie Array_Map () oder PREG_REPLACE () problemlos komplexere Vorgänge implementieren.
Ich hoffe, dieser Artikel kann Ihnen helfen, besser zu verstehen, wie Sie die Funktion von PHP von Array_Column () verwenden, um Array -Operationen auszuführen!