Heim > Artikel > Backend-Entwicklung > Welche Datenstruktur muss PHP haben, um eine bidirektionale Indexabfrage zu implementieren?
Ich weiß nicht, wie ich es ausdrücken soll. Kurz gesagt, die Anforderung ähnelt in gewisser Weise Linq in C#
Wenn es das folgende Array gibt
<code>$test = [ 'a'=>'a1', 'b'=>'a1', 'c'=>'c1', ] </code>
Ich kann jetzt 'a1' über $test['a'] abfragen, aber ich möchte auch die beiden Elemente 'a' und 'b' über 'a1' abfragen, bitte fragen Sie nach der Vorgehensweise Dies in PHP implementieren?
Ergänzung: Einige Leute empfehlen, foreach zur Implementierung zu verwenden, aber mein Array kann in der späteren Phase sehr groß sein, sogar Tausende oder Zehntausende, sodass die Verwendung von foreach definitiv nicht effizient ist.
Die vorhandenen Lösungen können nur die Situation lösen, in der der Schlüsselwert jedes Array-Elements unterschiedlich ist, d. h. die Eins-zu-Eins-Zuordnungssituation 1 ist array_search, 2 ist array_flip und verwendet dann den herkömmlichen $test[. 'a1'] Finden.