给定以下数组
array(
0 => array(
'id' => '54'),
1 => array(
'id' => '11'),
2 => array(
'id' => '2')
);
是否有一个(最好是内置的)功能可以将其重新排列到
array(
0 => '54',
1 => '11',
2 => '2'
);
在PHP中?
我目前的方法是对数组进行迭代并将其保存到另一个数组中,这看起来非常冗余、缓慢且效率低下。
$newArray = array();
foreach ($oldArray as $innerArray {
$newArray[] = $innerArray['id'];
}
使用array_walk
怎么样
function array_flatten( &$item ){
$item = $item['id'];
}
array_walk( $array, 'array_flatten' );
这个怎么样?
$arr = array(
0 => array(
'id' => '54'),
1 => array(
'id' => '11'),
2 => array(
'id' => '2')
);
$newArr = call_user_func_array('array_merge_recursive',$arr);
print_r($newArr['id']);