Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Datenstruktur muss PHP haben, um eine bidirektionale Indexabfrage zu implementieren?

Welche Datenstruktur muss PHP haben, um eine bidirektionale Indexabfrage zu implementieren?

WBOY
WBOYOriginal
2016-08-10 08:48:52986Durchsuche

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.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn