Bolehkah `array_unique` Digunakan untuk Mengalih Keluar Objek Pendua?

Patricia Arquette
Lepaskan: 2024-11-02 16:36:29
asal
209 orang telah melayarinya

Can `array_unique` Be Used to Remove Duplicate Objects?

Bolehkah Array_unique Digunakan dengan Objek?

Adakah terdapat fungsi yang serupa dengan kaedah array_unique yang beroperasi pada objek? Bayangkan mempunyai berbilang tatasusunan yang mengandungi objek 'Peranan'. Anda mahu menggabungkannya dan mengalih keluar sebarang pendua.

Penyelesaian

Array_unique boleh digunakan pada tatasusunan objek dengan pemalar SORT_REGULAR:

<code class="php">class MyClass {
    public $prop;
}

$foo = new MyClass();
$foo->prop = 'test1';

$bar = $foo;

$bam = new MyClass();
$bam->prop = 'test2';

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

print_r(array_unique($test, SORT_REGULAR));</code>
Salin selepas log masuk

Output :

<code class="php">Array (
    [0] => MyClass Object
        (
            [prop] => test1
        )

    [2] => MyClass Object
        (
            [prop] => test2
        )
)</code>
Salin selepas log masuk

Lawati http://3v4l.org/VvonH#v529 untuk demonstrasi langsung.

Awas: Kaedah ini menggunakan "= =" perbandingan dan bukannya perbandingan ketat ("==="). Jadi, apabila membandingkan objek dalam tatasusunan, ia memeriksa sifat setiap objek dan bukannya membandingkan identiti objek (contoh).

Atas ialah kandungan terperinci Bolehkah `array_unique` Digunakan untuk Mengalih Keluar Objek Pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan