function array_columns($arr, $column_keys=null) {
$result_arr = array();
$keys = isset($column_keys) ? explode(',', $column_keys) : array();
if ($arr) {
foreach($arr as $k=>$v) {
if ($keys) {
$tmp = array();
foreach($keys as $key) {
$tmp[$key] = $v[$key];
}
} else {
$tmp = $v;
}
$result_arr[] = $tmp;
}
}
return $result_arr;
}
$arr = array(
array('language'=>'JavaScript', 'code'=>1298, 'level'=>2, "spec"=> 'Z'),
array('language'=>'PHP', 'code'=>9814, 'level'=>1, "spec"=> 'X'),
array('language'=>'Java', 'code'=>5621, 'level'=>4, "spec"=> 'W'),
array('language'=>'C#', 'code'=>1111, 'level'=>5, "spec"=> 'P'),
);
$result_arr = array_columns($arr, 'language,level,spec');
print_r($result_arr);
/*
run:
Array
(
[0] => Array
(
[language] => JavaScript
[level] => 2
[spec] => Z
)
[1] => Array
(
[language] => PHP
[level] => 1
[spec] => X
)
[2] => Array
(
[language] => Java
[level] => 4
[spec] => W
)
[3] => Array
(
[language] => C#
[level] => 5
[spec] => P
)
)
*/