首页  >  文章  >  后端开发  >  如何使用 array_unique 删除 PHP 中的重复对象?

如何使用 array_unique 删除 PHP 中的重复对象?

Linda Hamilton
Linda Hamilton原创
2024-11-01 04:13:02690浏览

How Can I Use `array_unique` to Remove Duplicate Objects in PHP?

使用 array_unique 的唯一对象

在 PHP 中,array_unique 函数有助于消除数组中的重复值。但是,当处理包含对象的数组时,此功能可能似乎无法按预期工作。

输入解决方案:

对于对象数组,您可以使用 array_unique与 SORT_REGULAR 比较标志。此标志指示函数通过对象的属性而不是对象引用来比较对象。

实现:

考虑 Role 对象数组:

<code class="php">class Role {
    public $name;
}

$foo = new Role();
$foo->name = 'test1';

$bar = $foo;

$bam = new Role();
$bam->name = 'test2';

$test = array($foo, $bar, $bam);</code>

使用 array_unique 删除重复项:

<code class="php">print_r(array_unique($test, SORT_REGULAR));</code>

输出:

Array (
    [0] => Role Object
        (
            [name] => test1
        )

    [2] => Role Object
        (
            [name] => test2
        )
)

警告:

它需要注意的是,array_unique 与 SORT_REGULAR 使用“==”比较,而不是严格比较(“===”)。这意味着具有相同属性但不同对象引用的对象仍将被视为重复。

以上是如何使用 array_unique 删除 PHP 中的重复对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn