我有一个如下所示的数组。 。 。
Array
(
[code] => BILL
[assets] => Array
(
[en] => Array
(
[labels] => Array
(
[datestamp] => April 30, 2013
)
[data] => Array
(
[Equity] => 88.83000000000
[Global] => 10.84000000000
[Other] => 0.33099095766
)
)
)
)
我已在此数组上运行array_map函数以删除[en]
数组
$en = array_map(function ($e){ return $e['en']; } , $en );
请注意结果数组如何将[code]
的值从BILL
截断为B
Array
(
[code] => B
[assets] => Array
(
[labels] => Array
(
[datestamp] => April 30, 2013
)
[data] => Array
(
[Equity] => 88.83000000000
[Global] => 10.84000000000
[Other] => 0.33099095766
)
)
)
有关如何避免这种情况发生的任何提示。它根据需要使用键[en]
删除数组,但我不希望截断[code]
的值。
感谢。
答案 0 :(得分:0)
您可以执行类型检查:
$en = array_map(function ($e){
if (is_array($e)) {
return $e['en'];
} else {
return $e;
}
} , $en );
虽然这样做可能就足够了:
$en['assets'] = $en['assets']['en'];
答案 1 :(得分:0)
你好,而不是传递你提到的整个数组作为参数,你可以将数组的资产部分作为参数传递给array_map函数:
$en_new = array_map(function ($e){ return $e['en']; } , $en['assets'] );
然后附加代码部分:
$en_new['code'] = $en['code'];