欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php有什么数据结构可以实现双向索引查询?

程序员文章站 2022-06-10 13:21:30
...
我也不知道该怎么表达,总之需求有点类似于C#里面的linq,
假如有如下数组
$test = [
    'a'=>'a1',
    'b'=>'a1',
    'c'=>'c1',
]

我现在可以通过$test['a']查询到'a1',但是我也想通过'a1'来反查到'a'和'b'两个元素,请问如何在php中实现这个?

补充:有人说用foreach实现,但是我这个数组到后期有可能非常大,甚至大到几千上万,用foreach肯定效率不高。

已有的解决方案只能解决每个数组元素键值不一样的情况,也就是一对一映射的情况,1是array_search,2是先array_flip再用传统的$test['a1']查找。