最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • PHP 数组去重时指定去除重复元素的依据

    php 的 array_unique() 函数用于去除数组中重复元素,其缺省使用严格相等 (===)。我们可以通过自定比较函数来指定去重依据:创建自定比较函数,指定去重的标准(例如根据元素长度);将自定比较函数作为第三个参数传递给 array_unique() 函数,即可根据指定的标准去除重复元素。

    PHP 数组去重时指定去除重复元素的依据

    使用 PHP 数组_unique() 函数指定去重依据

    简介

    _unique() 函数用于从一个数组中去除重复元素。默认情况下,它使用严格相等 (===) 来判定重复元素。但是,我们可以通过提供一个自定比较函数来指定去重依据,从而根据不同的标准去除重复元素。

    立即学习PHP免费学习笔记(深入)”;

    代码示例

    <?php
    
    // 创建一个包含重复元素的数组
    $arr = array(
        'a', 'b', 'c', 'd',
        'a', 'c', 'e', 'f'
    );
    
    // 使用默认的严格相等比较器去除重复元素
    print_r(array_unique($arr));
    
    // 自定比较器,根据元素长度去除重复元素
    $length_comparator = function($a, $b) {
        return strlen($a) == strlen($b);
    };
    
    // 使用自定比较器去除重复元素
    print_r(array_unique($arr, SORT_REGULAR, $length_comparator));
    
    ?>

    输出结果

    Array
    (
        [0] => a
        [1] => b
        [2] => c
        [3] => d
        [4] => e
        [5] => f
    )
    Array
    (
        [0] => a
        [1] => b
        [2] => c
        [4] => d
        [6] => e
    )

    实战案例

    假设我们有一个学生对象的数组,每个对象都有一个名字和年龄。我们可以使用 _unique() 函数和一个自定比较器来去除具有相同年龄的学生:

    <?php
    
    class Student {
        public $name;
        public $age;
    }
    
    // 创建一个包含具有相同年龄的学生对象的数组
    $students = array(
        new Student('Alice', 20),
        new Student('Bob', 20),
        new Student('Carol', 21),
        new Student('Dave', 21),
    );
    
    // 自定比较器,根据学生的年龄去除重复元素
    $age_comparator = function($a, $b) {
        return $a->age == $b->age;
    };
    
    // 使用自定比较器去除重复元素
    $unique_students = array_unique($students, SORT_REGULAR, $age_comparator);
    
    // 打印唯一学生的姓名
    foreach ($unique_students as $student) {
        echo $student->name . '<br>';
    }
    
    ?>

    输出结果

    Alice
    Carol
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » PHP 数组去重时指定去除重复元素的依据
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 294稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情