<?php
/**
 * 返回数组中指定多列
 *
 * @param  Array  $arr 需要取出数组列的多维数组
 * @param  String $keys  要取出的列名,逗号分隔,如不传则返回所有列
 * @return Array
 * @Author: CooIf <http://cooif.com>
 */
function array_columns($arr, $keys){
    $result = array();
    $keys =array_flip(explode(',',$keys));
    foreach($arr as $k=>$v){
        $result[]=array_intersect_key($v,$keys);
    }
    return $result;
}
// 演示代码
$arr = array(
  array(
    'id' => 5698,
    'first_name' => 'Peter',
    'last_name' => 'Griffin',
  ),
  array(
    'id' => 4767,
    'first_name' => 'Ben',
    'last_name' => 'Smith',
  ),
  array(
    'id' => 3809,
    'first_name' => 'Joe',
    'last_name' => 'Doe',
  )
);

$result = array_columns($arr, 'id,first_name');
print_r($result);

?>