我注意到此代码段中的行为异常。
<?php
$taxonomy = array(
array('index' => array('AU200_AUD','CN50_USD')),
array('mt' => array('XAG_GBP','XAG_HKD','XAU_GBP','XAU_HKD','XAU_JPY')),
array('aud' => array('AUD_CAD','AUD_CHF','AUD_HKD','AUD_JPY','AUD_NZD','AUD_SGD','AUD_USD')),
array('cad' => array('CAD_CHF','CAD_HKD','CAD_JPY','CAD_SGD','CHF_HKD','CHF_JPY','CHF_ZAR')),
array('eur' => array('EUR_AUD','EUR_CAD','EUR_CHF','EUR_NOK','EUR_NZD','EUR_PLN','EUR_ZAR')),
array('gbp' => array('GBP_AUD','GBP_CAD','GBP_CHF','GBP_USD','GBP_ZAR')),
array('hkd' => array('HKD_JPY')),
array('nzd' => array('NZD_CAD','NZD_CHF','NZD_HKD','NZD_JPY','NZD_SGD','NZD_USD')),
array('sgd' => array('SGD_CHF','SGD_HKD','SGD_JPY')),
array('try' => array('TRY_JPY')),
array('usd' => array('USD_CAD','USD_CHF','USD_CNH','USD_SGD','USD_THB','USD_TRY','USD_ZAR')),
array('zar' => array('ZAR_JPY')),
);
foreach ($taxonomy as $key => $tax) {
foreach ($tax as $value => $val) {
if(array_search('USD_CAD', $val)) $taxonomy = key($tax);
}
}
echo($taxonomy);
这就是发生的情况。如果在array(0)上搜索值,它将返回Array
作为值。如果搜索其他数组元素,它将返回所需的索引。
任何人都可以通过一种解决方案来帮助我搜索数组的任何值,并且不介意索引并仍然获得键。请参见下面的示例。
if(array_search('USD_CAD', $val)) $taxonomy = key($tax); //returns Array
if(array_search('SGD_HKD', $val)) $taxonomy = key($tax); //returns sgd