所属分类:php教程
php去除重复值的方法:1、使用“function more_array_unique($arr=array()){...}”去除有多个value数组;2、通过“$arr_new = more_array_unique($arr);”方式调用去重函数;3、输出去重后的数组即可。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。
php怎么去除重复值?
php去除数组中重复值,并返回结果!
array_unique(array) 只能处理value只有单个的数组。
去除有多个value数组,可以使用如下函数实现:
function more_array_unique($arr=array()){
foreach($arr[0] as $k => $v){
$arr_inner_key[]= $k; //先把二维数组中的内层数组的键值记录在在一维数组中
}
foreach ($arr as $k => $v){
$v =join(",",$v); //降维 用implode()也行
$temp[$k] =$v; //保留原来的键值 $temp[]即为不保留原来键值
}
$temp =array_unique($temp); //去重:去掉重复的字符串
foreach ($temp as $k => $v){
$a = explode(",",$v); //拆分后的重组 如:Array( [0] => james [1] => 30 )
$arr_after[$k]= array_combine($arr_inner_key,$a); //将原来的键与值重新合并
}
return $arr_after;
}
登录后复制
有如下数组:
$arr = array(
'0'=>array(
'name'=>'james',
'age'=>30,
),
'1'=>array(
'name'=>'susu',
'age'=>26,
),
'2'=>array(
'name'=>'james',
'age'=>30,
),
'new'=>array(
'name'=>'kube',
'age'=>37,
),
'list'=>array(
'name'=>'kube',
'age'=>27,
),
'435'=>array(
'name'=>'susu',
'age'=>26,
),
'33'=>array(
'name'=>'james',
'age'=>30,
),
);
登录后复制
调用函数后显示:
Array
(
[0] => Array
(
[name] => james
[age] => 30
)
[1] => Array
(
[name] => susu
[age] => 26
)
[new] => Array
(
[name] => kube
[age] => 37
)
[list] => Array
(
[name] => kube
[age] => 27
)
)
登录后复制
测试Demo如下:
<?php
$arr = array(
'0'=>array(
'name'=>'james',
'age'=>30,
),
'1'=>array(
'name'=>'susu',
'age'=>26,
),
'2'=>array(
'name'=>'james',
'age'=>30,
),
'new'=>array(
'name'=>'kube',
'age'=>37,
),
'list'=>array(
'name'=>'kube',
'age'=>27,
),
'435'=>array(
'name'=>'susu',
'age'=>26,
),
'33'=>array(
'name'=>'james',
'age'=>30,
),
);
printf("原来的数组:<br><pre>"); //输出原来的数组
print_r($arr);
echo "</pre><br/>";
function more_array_unique($arr=array()){
foreach($arr[0] as $k => $v){
$arr_inner_key[]= $k; //先把二维数组中的内层数组的键值记录在在一维数组中
}
foreach ($arr as $k => $v){
$v =join(",",$v); //降维 用implode()也行
$temp[$k] =$v; //保留原来的键值 $temp[]即为不保留原来键值
}
$temp =array_unique($temp); //去重:去掉重复的字符串
foreach ($temp as $k => $v){
$a = explode(",",$v); //拆分后的重组 如:Array( [0] => james [1] => 30 )
$arr_after[$k]= array_combine($arr_inner_key,$a); //将原来的键与值重新合并
}
return $arr_after;
}
$arr_new = more_array_unique($arr); //调用去重函数
printf("去除重复元素后的数组:<br>");
echo '<pre>';
print_r($arr_new);
echo "</pre><br/>";
?>
登录后复制
推荐学习:《PHP视频教程》
以上就是php怎么去除重复值的详细内容,更多请关注zzsucai.com其它相关文章!