<?php
date_default_timezone_set('Asia/Shanghai');
$array = array(
['name'=>'张','age'=>'18','sex'=>'女'],
['name'=>'李','age'=>'18','sex'=>'男'],
['name'=>'莫','age'=>'56','sex'=>'男'],
['name'=>'张','age'=>'18','sex'=>'女'],
['name'=>'王','age'=>'18','sex'=>'女'],
['name'=>'张','age'=>'15','sex'=>'男'],
['name'=>'列','age'=>'17','sex'=>'男'],
['name'=>'张','age'=>'18','sex'=>'女'],
);
function getValuesByKey($array,$key,$is_del=0){
if(empty($array))
return "function getValuesByKey:array参数不可为空!";
if($key=='')
return "function getValuesByKey:key参数不可为空!";
if(empty(array_column($array, $key)))
return "function getValuesByKey:key参数不存在数组中!";
$cate_name = array_unique(array_column($array, $key));
$n_data =[];
foreach ($cate_name as $k=>$v){
$n_d[$key]=$v;
$rl=[];
foreach ($array as $ko=>$vo){
if($v==$vo[$key]){
if($is_del == 1)
unset($vo[$key]);
$rl[]=$vo;
}
}
$n_d['children']=$rl;
$n_data[]=$n_d;
}
return $n_data;
}
print_r(getValuesByKey($array,'age',1));
代码结果