簡體   English   中英

在多維數組中按值搜索關鍵字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM