php 二维数组 根据某字段 去重
function unique_arr($array2D,$stkeep=false,$ndformat=true){
if($stkeep){ //一级数组键可以为非数字
$stArr = array_keys($array2D);
}
if($ndformat){ //二级数组键必须相同
$ndArr = array_keys(end($array2D));
}
foreach ($array2D as $v){ //降维
$v = join("||",$v);
$temp[] = $v;
}
$temp = array_unique($temp);
foreach ($temp as $k => $v){ //数组重新组合
if($stkeep){
$k = $stArr[$k];
}
if($ndformat){
$tempArr = explode("||",$v);
foreach($tempArr as $ndkey => $ndval){
$output[$k][$ndArr[$ndkey]] = $ndval;
}
}else{
$output[$k] = explode("||",$v);
}
}
return $output;
}
if($stkeep){ //一级数组键可以为非数字
$stArr = array_keys($array2D);
}
if($ndformat){ //二级数组键必须相同
$ndArr = array_keys(end($array2D));
}
foreach ($array2D as $v){ //降维
$v = join("||",$v);
$temp[] = $v;
}
$temp = array_unique($temp);
foreach ($temp as $k => $v){ //数组重新组合
if($stkeep){
$k = $stArr[$k];
}
if($ndformat){
$tempArr = explode("||",$v);
foreach($tempArr as $ndkey => $ndval){
$output[$k][$ndArr[$ndkey]] = $ndval;
}
}else{
$output[$k] = explode("||",$v);
}
}
return $output;
}
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: php获取二维数组 某键的值 返回 新数组
- 下一篇: php截取中英文字符函数
