Ich habe ein Array, in dem ich nach den uid
und erhalten den Schlüssel des Arrays.
Beispiele
Angenommen, wir haben das folgende 2-dimensionale Array:
$userdb = array(
array(
'uid' => '100',
'name' => 'Sandra Shush',
'pic_square' => 'urlof100'
),
array(
'uid' => '5465',
'name' => 'Stefanie Mcmohn',
'pic_square' => 'urlof100'
),
array(
'uid' => '40489',
'name' => 'Michael',
'pic_square' => 'urlof40489'
)
);
Der Funktionsaufruf search_by_uid(100)
(uid des ersten Benutzers) sollte zurückgeben 0
.
Der Funktionsaufruf search_by_uid(40489)
sollte zurückkehren 2
.
Ich habe versucht, Schleifen zu erstellen, aber ich möchte einen schneller ausführbaren Code.
0 Stimmen
Interessanterweise fügen die underscore (und lowdash) librarires diese Funktion zu javascript hinzu...
12 Stimmen
Ich habe ein Skript geschrieben, um die Leistung einiger der Antworten zu testen. Es erzeugt ein Array mit 500k Elementen und sucht darin nach einem Wert im letzten Element. Ich habe eine Funktion wie die akzeptierte Antwort mit den beiden folgenden verglichen
array_column
Einzeiler-Antworten. Ich habe sie alle so geändert, dass sie das tatsächlich gefundene Array zurückgeben, nicht nur den Schlüssel, weil das normalerweise mein Anwendungsfall ist. Die Funktionsmethode erzielte 0,361, search-col 0,184 und keys-col 0,189 durchschnittliche Mikroverzögerung über 1000 Durchläufe für jede Methode.