当前位置 : 主页 > 网络编程 > PHP >

php怎么去除重复值

来源:互联网 收集:自由互联 发布时间:2022-11-14
php去除重复值的方法:1、使用“function more_array_unique($arr=array()){...}”去除有多个value数组;2、通过“$arr_new = more_array_unique($arr);”方式调用去重函数;3、输出去重后的数组即可。 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怎么去除重复值的详细内容,更多请关注自由互联其它相关文章!

上一篇:php 数据流怎么转化为图片
下一篇:没有了
网友评论