Многомерный массив для массива

У меня часто есть 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); 
 <?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)); ?> 

Вы имели в виду что-то вроде этого?

 array_reduce($array,function($arr,$new){ $arr[]=$new['key']; },array()) 

В случае, если у вас есть только одно значение во внутренних массивах:

 $values = array_map('array_pop', $yourArray); 

Обратный вызов может быть именем функции, поэтому зачем переопределять то, что уже существует в качестве основной функции? 🙂