[英]Search key by value in multi dimensional array
使用PHP網站作為參考,我試圖在關聯數組中搜索已知值的鍵:
http://php.net/manual/zh/function.array-search.php
以下代碼始終返回1,但假定返回120:
$location_key = array_search(1, array_column($locations, 'main'));
print_r($ locations):
Array
(
[120] => Array
(
[clientid] => 122103
[name] => HQ
[address] => 2013 BENSON GARDEN BLVD
[address2] =>
[city] => OMAHA
[state] => NE
[zip] => 68134
[country] => UNITED STATES
[lat] => 00.000
[lng] => -0.0000
[taxrate] => 0
[main] => 1
[active] => 1
[contactid] => 14
)
[122] => Array
(
[clientid] => 122103
[name] => Branch
[address] => 515E E 72ND ST
[address2] =>
[city] => NEW YORK
[state] => NY
[zip] => 10021
[country] => UNITED STATES
[lat] => 40.766705
[lng] => -73.952965
[taxrate] => 0
[main] => 0
[active] => 1
[contactid] => 0
)
)
不確定為什么PHP的網站引用的是最高投票的“用戶貢獻的注釋”,但它不起作用。
這是因為array_column()
不會保留您的密鑰。 因此,您首先需要將array_combine()
的鍵與array_column()
的數組array_column()
,例如
$location_key = array_search(1, array_combine(array_keys($locations), array_column($locations, 'main')));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.