我经常有一个二维数组:
array(
array('key' => 'value1'),
array('key' => 'value2'),
...
);
需要形成一维数组:
array('value1', 'value2')
这可以很容易地用foreach完成,但是我想知道是否有一些php 5.3方法可以在一行中完成。
答案 0 :(得分:6)
$new_array = array_map(function($el) { return $el['key']; }, $array);
答案 1 :(得分:1)
<?php
$arr = array(array(141,151,161,140),2,3,array(101,202,array(303,404),407));
function array_oned($arrays){
static $temp_array = array();
foreach($arrays as $key){
if(is_array($key)){
array_oned($key);
}else {
$temp_array [] = $key;
}
}
return $temp_array;
}
echo print_r(array_oned($arr));
?>
你的意思是这样吗?
答案 2 :(得分:0)
array_reduce($array,function($arr,$new){
$arr[]=$new['key'];
},array())
答案 3 :(得分:0)
如果内部数组中只有一个值:
$values = array_map('array_pop', $yourArray);
回调可能是函数名,那么为什么重新实现已经作为核心函数存在的东西呢? :)