亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php有什么數據結構可以實現雙向索引查詢?

php有什么數據結構可以實現雙向索引查詢?

墨色風雨 2018-10-16 17:24:45
我也不知道該怎么表達,總之需求有點類似于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']查找。
查看完整描述

2 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

手冊中的array_search可以解決你的需求。

<?php

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;

$key = array_search('red', $array);   // $key = 1;

?> 


查看完整回答
反對 回復 2018-10-29
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

在群里面請教大神解決了,array_keys就好了。

<?php

$a=array("a"=>"Dog","b"=>"Dog","c"=>5,"d"=>"5");

print_r(array_keys($a,"Dog"));

//Array ( [0] => a [1] => b )

 ?>

 

直接上代碼吧!~


查看完整回答
反對 回復 2018-10-29
  • 2 回答
  • 0 關注
  • 1188 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號