PHP ist eine weit verbreitete Open-Source-Programmiersprache auf hohem Niveau und wird häufig für die Webentwicklung verwendet. Aufgrund seiner Flexibilität und Benutzerfreundlichkeit ist es die erste Wahl für viele Website-Frameworks, CMS, Blog-Systeme usw. In PHP müssen wir uns häufig mit Arrays befassen. In diesem Artikel erfahren Sie, wie Sie mit PHP die Schlüssel eines zweidimensionalen Arrays durch die Werte eines zweidimensionalen Arrays ersetzen.
1. Das Konzept eines zweidimensionalen Arrays
Ein zweidimensionales Array ist ein Array, und jedes Element davon ist auch ein Array. Dieses Unterarray kann jeden Datentyp enthalten, z. B. Zeichenfolgen, Zahlen und boolesche Werte , Gegenstände usw.
$users = array(
array('id' => 1001, 'name' => 'Tom', 'age' => 23),
array('id' => 1002, 'name ' => 'Jerry', 'age' => 28),
array('id' => 1003, 'name' => 'Alice', 'age' => 20)
);
Der obige Code ist ein zweidimensionales Array mit drei Elementen. Jedes Element enthält drei Schlüssel-Wert-Paare, die jeweils die ID, den Namen und das Alter des Benutzers darstellen.
2. Ersetzen Sie den Wert des Arrays durch einen Schlüssel
Manchmal müssen wir den Wert eines Schlüssel-Wert-Paares im Array als Schlüssel eines neuen Arrays verwenden, damit wir den Wert zum Ausführen von Abfragen verwenden können , Sortieren und andere Operationen. Sie können ein zweidimensionales Array durchlaufen und dann das Schlüssel-Wert-Paar jedes Elements in ein Array konvertieren, dessen Wert der Schlüssel ist.
Zum Beispiel müssen wir einen neuen Array-Schlüssel basierend auf dem ID-Wert jedes Elements im zweidimensionalen Array erstellen.
$users = array(
array('id' => 1001, 'name' => 'Tom', 'age' => 23),
array('id' => 1002, 'name ' => 'Jerry', 'age' => 28),
array('id' => 1003, 'name' => 'Alice', 'age' => 20)
);
$newArr = array();
foreach ($users as $user) {
$newArr[$user['id']] = $user;
}
Im obigen Code durchlaufen wir das $users-Array, und Setzen Sie den neuen Array-Schlüssel auf den ID-Wert jedes Elements. Schließlich erhalten wir ein neues Array mit Elementen, die durch die ID verschlüsselt sind.
3. Verwenden Sie die in PHP integrierten Funktionen zur Implementierung
Zusätzlich zur manuellen Durchquerung können wir auch die in PHP integrierte Funktion array_column() verwenden, um einen Schlüsselwert eines zweidimensionalen Arrays als Schlüssel zu implementieren.
$users = array(
array('id' => 1001, 'name' => 'Tom', 'age' => 23),
array('id' => 1002, 'name ' => 'Jerry', 'age' => 28),
array('id' => 1003, 'name' => 'Alice', 'age' => 20)
);
$newArr = array_column($users, null, 'id');
Im obigen Code ist der erste Parameter der Funktion array_column() das zweidimensionale Array, das bedient werden muss, und der zweite Parameter ist das Feld, das konvertiert werden muss. Verwenden Sie hier null, um das gesamte Element zu konvertieren. Der dritte Parameter ist das Feld, das dem neuen Schlüsselwert entspricht.
4. Praktische Anwendungsfälle
Die oben genannten Implementierungsmethoden sind in der tatsächlichen Entwicklung sehr nützlich. Wenn wir beispielsweise eine E-Commerce-Website entwickeln, müssen wir verwandte Produkte basierend auf dem Browserverlauf des Benutzers empfehlen. Angenommen, wir haben eine Produkttabelle, in der die ID, der Name, der Preis usw. jedes Produkts als assoziatives Array gespeichert sind. Um eine Liste mit Produktempfehlungen zu erstellen, müssen wir dieses Array basierend auf dem Browserverlauf des Kunden durchsuchen.
$products = array(
array('id' => 1, 'name' => 'Apple iPhone XS', 'price' => 1059),
array('id' => 2, 'name' => 'Samsung Galaxy S9', 'price' => 939),
array('id' => 3, 'name' => 'Google Pixel 3', 'price' => 799),
array('id' => 4, 'name' => 'Sony Xperia XZ3', 'price' => 875),
array('id' => 5, 'name' = > 'Xiaomi Mi Mix 3', 'price' => 569)
);
$history = array(3, 1, 2, 5); //Kunden-Browserverlauf, gespeichert im Array
$recommendations = array();
foreach ($history as $productId) {
$product = $products[array_search($productId, array_column($products, 'id'))];
$recommendations[$product['name'] ] = $product['price'];
}
Im obigen Code definieren wir zunächst das Array $products, wobei jedes Element ein assoziatives Array mit Produktinformationen ist. Wir definieren außerdem ein $history-Array, das die von jedem Benutzer angezeigten Produkt-IDs enthält.
Wir durchlaufen das Array $history, verwenden die Funktion array_column(), um den Index des entsprechenden Elements im Array $products zu finden, und entnehmen dann den Namen und die Preisinformationen des Elements, wobei wir den Produktnamen als Schlüssel verwenden und der Preis als Wert, gespeichert in der Mitte des $recommendations-Arrays. Schließlich haben wir eine Empfehlungsliste, um unseren Kunden weitere Produkte zu empfehlen.
Zusammenfassung
In PHP können wir durch Schleifendurchlauf und die integrierte Funktion array_column() den Wert, der einem bestimmten Schlüsselwert des zweidimensionalen Arrays entspricht, als neuen Schlüsselwert des Arrays festlegen. Diese Methode ist in der tatsächlichen Entwicklung sehr praktisch und kann die Entwicklungseffizienz erheblich verbessern. Sie ist auch eine der leistungsstarken Funktionen von PHP.
Das obige ist der detaillierte Inhalt vonSo ersetzen Sie den Wert eines zweidimensionalen Arrays durch einen Schlüssel in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!