我有以下通过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