Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich effizient nach einem Wert in einem mehrdimensionalen PHP-Array suchen?
PHP-Multidimensional-Array-Suche nach Wert für höhere Effizienz
Die Suche nach einem bestimmten Wert innerhalb eines mehrdimensionalen PHP-Arrays kann eine zeitaufwändige Aufgabe sein , insbesondere bei großen Arrays. In diesem Artikel wird eine effiziente Lösung für diese Herausforderung vorgestellt.
Suche nach Benutzer-ID (uid) in einer Benutzerdatenbank
Betrachten Sie das folgende 2D-Benutzerdatenbank-Array:
$userdb = [ [ 'uid' => '100', 'name' => 'Sandra Shush', 'pic_square' => 'urlof100' ], [ 'uid' => '5465', 'name' => 'Stefanie Mcmohn', 'pic_square' => 'urlof100' ], [ 'uid' => '40489', 'name' => 'Michael', 'pic_square' => 'urlof40489' ] ];
Das Ziel besteht darin, nach einer bestimmten UID zu suchen und den entsprechenden Array-Schlüssel zurückzugeben. Beispielsweise sollte search_by_uid(100) 0 zurückgeben.
Effiziente Suche mit einer benutzerdefinierten Funktion
Die folgende benutzerdefinierte Funktion ermöglicht eine schnellere Suche als die Verwendung Schleifen:
function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val['uid'] === $id) { return $key; } } return null; }
Verwendung:
$id = searchForId('100', $userdb);
Einzeiler für PHP >= 5.5.0
In PHP >= 5.5.0 können Sie einen Einzeiler verwenden, um ein Array zu durchsuchen Spalte:
$key = array_search('100', array_column($userdb, 'uid'));
Fazit
Diese Suchmethoden verbessern die Effizienz beim Suchen von Werten in mehrdimensionalen PHP-Arrays erheblich und bieten eine schnellere Ausführungszeit im Vergleich zu manuellen Schleifenmethoden.
Das obige ist der detaillierte Inhalt vonWie kann ich effizient nach einem Wert in einem mehrdimensionalen PHP-Array suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!