Bei der Suche nach einem bestimmten Wert innerhalb eines mehrdimensionalen Arrays ist Effizienz von größter Bedeutung. Herkömmliche Schleifenmethoden können umständlich und zeitaufwändig sein, insbesondere bei großen Arrays.
Um diese Suche zu optimieren, sollten Sie die Implementierung einer benutzerdefinierten Funktion in Betracht ziehen:
function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val['uid'] === $id) { return $key; } } return null; }
Diese Funktion iteriert durch das Array und vergleicht die 'uid'-Eigenschaft jedes Elements auf die angegebene 'id'. Wenn eine Übereinstimmung gefunden wird, wird der entsprechende Array-Schlüssel zurückgegeben.
Zum Beispiel die Verwendung des folgenden Arrays:
$userdb = [ [ 'uid' => '100', 'name' => 'Sandra Shush', 'pic_square' => 'urlof100' ], [ 'uid' => '5465', 'name' => 'Stefanie Mcmohn', 'pic_square' => 'urlof100' ], [ 'uid' => '40489', 'name' => 'Michael', 'pic_square' => 'urlof40489' ] ];
Der Aufruf von „searchForId(100, $userdb)“ würde 0 zurückgeben, und der Aufruf von „searchForId(40489, $userdb)“ würde 2 zurückgeben.
Ein alternativer Ansatz in PHP-Versionen 5.5.0 und höher besteht darin, die Funktionen „array_search“ und „array_column“ zu verwenden:
$key = array_search('100', array_column($userdb, 'uid'));
Dieser Einzeiler führt effizient die gleiche Aufgabe wie die benutzerdefinierte Funktion aus.
Durch die Einbindung dieser Durch Optimierungen können Sie die Leistung Ihrer mehrdimensionalen Array-Suchen in PHP erheblich steigern.
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!