• 技术文章 >后端开发 >PHP问题

    php如何去掉数组重复的值?

    coldplay.xixicoldplay.xixi2020-07-14 10:12:38原创1080

    php去掉数组重复值的方法:1、用第一个数组的每个值和第二个数组比较,如果相同就删除;2、使用【array_unique()】函数可以移除数组中的重复的值,并返回结果数组;3、使用【array_flip()】反转数组键和值的函数。

    php去掉数组重复值的方法:

    第一、用数组循环比较

    $arr = array(1,2,4,2,0,9,8,5);//定义一个数组。
    $arr1 = $arr; //定义另一个数组和上一个数组一样。
    //循环第一个数组让后循环第二个数组,用第一个数组的每个值和第二个数组比较,如果相同就删除,最后输出第二个数组就行了。
    for($i = 0;$i<count($arr);$i++){
    for($j=$i+1;$j<count($arr);$j++){
    if($arr[$i] == $arr[$j])
    unset($arr1[$i]);
    }
    }
    echo'<pre>';
    print_r($arr1);

    第二、如果允许使用array_uniqe()函数的话,直接array_uniqe(直接写数组名就ok)。

    在PHP中可以使用内置函数array_unique()来直接删除重复元素,也可以使用array_flip()函数来间接删除重复元素。

    1.array_unique()函数

    array_unique()函数可以移除数组中的重复的值,并返回结果数组;当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

    代码示例:

    <?php$result1 = array("a" => "green", "red", "b" => "green", "blue",
    "red");var_dump($result1);$result2 = array_unique($result1);var_dump($result2);?>

    2.array_flip()函数

    array_flip()是反转数组键和值的函数,它有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值,利用这个特性我们用他来间接的实现数组的去重。

    代码示例:

    <?phpheader("content-type:text/html;
    charset=utf-8");$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);// 输出原始数组echo "原始数组
    :";var_dump($a);// 。
    通过使用翻转键和值移除重复值$a = array_flip($a);
    // 通过再次翻转键和值来恢复数组元素$a = array_flip($a);// 重新排序数组键$a = array_values($a);// 输出更新后的数组echo "更新数组 :";var_dump($a);?>

    相关学习推荐:PHP编程从入门到精通

    以上就是php如何去掉数组重复的值?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 重复值
    上一篇:php url中文转码的方法 下一篇:如何理解php的 __get()魔术方法?
    千万级数据并发解决方案

    相关文章推荐

    • php去掉二维数组的重复值的方法总结• php判断从数据库查出的二维数组是否有重复值• js去除数组中的重复值• php如何去除多维数组重复值
    1/1

    PHP中文网