$arr[] = array('id'=>12,'name'=>'a');
$arr[] = array('id'=>12,'name'=>'s');
$arr[] = array('id'=>12,'name'=>'d');
$arr[] = array('id'=>12,'name'=>'f');
$ar = array_coltokey($arr,'name);
print($ar);
//效果如下
$ar =array('a'=>array('id'=>12,'name'=>'123'),'s'=>'','d'=>'');
函数如下
function array_getcol($data, $col = 'id') {
$func = create_function('$v', 'return $v[\'' . $col . '\'];');
return array_map($func, $data);
}
/**
* 以某个数组值当作主键生成数组
* @param [array] $data [原数组]
* @param string $key [数组键值]
* @return [array] [生成新数组]
*/
function array_coltokey($data, $key = 'id') {
return array_combine(array_getcol($data, $key), $data);
}