我有以下通過API獲取的多維數組。PHP - 通過多維數組獲取其他鍵值的密鑰
$exchangeID = array(
0 => array(
'id' => 'vcxz',
'currency' => 'GBP',
),
1 => array(
'id' => 'mnbv',
'currency' => 'EUR',
),
2 => array(
'id' => 'lkjh',
'currency' => 'USD',
),
3 => array(
'id' => 'poiuy',
'currency' => 'KRN',
),
);
我想獲得ID USD這是lkjh的。我知道這可以通過簡單地做$ exchangeID [2] ['id']來獲得。問題是數組是動態的。例如,當它被加載時,第一個子數組可能是EUR而不是GBP,第三個子數組可能是KRN而不是USD。
基本上,我腦子裏想找的是先找到貨幣的子數組,然後找到相應的id。例如。如果我想找到歐元。首先我找到EUR,然後獲得'mnbv'。
我試過這個$key = array_search('USD', array_column($exchangeID, 'currency'));
,但我在error_log PHP Fatal error: Call to undefined function array_column()
中得到了以下錯誤,至少得到了數組編號,例如在這種情況下,2
看來你使用的是PHP版本低於5.5 - 在這種情況下,如果您想避免PHP致命錯誤,您可以檢查此實現https://github.com/ramsey/array_column/blob/master/src/array_column.php – maxdangelo
我的答案有用嗎?如果是這樣,請讓我知道:) – aimme