」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 array_unique 刪除 PHP 中的重複物件?

如何使用 array_unique 刪除 PHP 中的重複物件?

發佈於2024-11-13
瀏覽:384

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

使用 array_unique 的唯一物件

使用 array_unique 的唯一物件

在 PHP 中,array_unique 函數有助於消除陣列中的重複值。然而,當處理包含物件的陣列時,此功能似乎無法如預期般運作。

輸入解決方案:

對於物件數組,您可以使用 array_unique與 SORT_REGULAR 比較標誌。此標誌指示函數透過物件的屬性而不是物件參考來比較物件。

實作:

class Role {
    public $name;
}

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

$bar = $foo;

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

$test = array($foo, $bar, $bam);

類別角色{ 公共$名稱; } $foo = 新角色(); $foo->name = 'test1'; $bar = $foo; $bam = 新角色(); $bam->name = 'test2'; $test = array($foo, $bar, $bam);
print_r(array_unique($test, SORT_REGULAR));

print_r(array_unique($test, SORT_REGULAR));

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

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

陣列 ( [0] => 角色對象 ( [姓名] => 測試1 ) [2] => 角色對象 ( [姓名] => 測試2 ) )

注意:

How Can I Use `array_unique` to Remove Duplicate Objects in PHP? 
需要注意的是,array_unique 與 SORT_REGULAR 使用“==”比較,而不是嚴格比較(“===”)。這意味著具有相同屬性但不同物件引用的物件仍將被視為重複。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3