我通常具有2維數組:多維數組陣列
array(
array('key' => 'value1'),
array('key' => 'value2'),
...
);
,需要形成1維陣列:
array('value1', 'value2')
這可以很容易地用foreach完成,但我想知道是否有一些PHP 5.3的方式來做到這一點。
我通常具有2維數組:多維數組陣列
array(
array('key' => 'value1'),
array('key' => 'value2'),
...
);
,需要形成1維陣列:
array('value1', 'value2')
這可以很容易地用foreach完成,但我想知道是否有一些PHP 5.3的方式來做到這一點。
$new_array = array_map(function($el) { return $el['key']; }, $array);
array_reduce($array,function($arr,$new){
$arr[]=$new['key'];
},array())
在情況下,當你在內部數組只有一個值:
$values = array_map('array_pop', $yourArray);
回調可能是函數名,那麼爲什麼重新實現已經存在爲核心功能的東西嗎? :)
<?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));
?>
您的意思是這樣的嗎?
http://stackoverflow.com/questions/1319903/how-to-flatten-a-multidimensional-array –
http://stackoverflow.com/questions/2473844/how-to-get-array-of-values -from-an-associative-arrays –
我不會知道任何內置函數,它從這樣的數組結構返回列*。你所能做到的只是隱藏所需的循環(使用閉包)。 – Yoshi