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.
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>
Output :
<code class="php">Array ( [0] => MyClass Object ( [prop] => test1 ) [2] => MyClass Object ( [prop] => test2 ) )</code>
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!