Menggabungkan Tatasusunan dengan Objek Serupa dan Menghapuskan Pendua
Menggabungkan berbilang tatasusunan menjadi satu tatasusunan ialah tugas biasa dalam pengaturcaraan. Walau bagaimanapun, apabila bekerja dengan tatasusunan yang mengandungi objek, adalah penting untuk mengendalikan pendua dengan berhati-hati untuk mengelakkan isu integriti data.
Pertimbangkan senario di mana anda mempunyai dua tatasusunan, $array1 dan $array2, yang mengandungi objek dengan sifat "e-mel" sebagai pengecam unik. Matlamat anda adalah untuk menggabungkan tatasusunan ini, memastikan nilai e-mel pendua dialih keluar.
Penyelesaian
Untuk mencapai hasil yang diinginkan, anda boleh menggunakan dua fungsi PHP: array_merge( ) dan array_unique().
Dengan menggabungkan fungsi ini, anda boleh menggabungkan dua tatasusunan dengan cekap sambil menghapuskan e-mel pendua. Kod di bawah menggambarkan pendekatan ini:
<?php $array1 = [ (object) ["email" => "gffggfg"], (object) ["email" => "[email protected]"], (object) ["email" => "wefewf"], ]; $array2 = [ (object) ["email" => "[email protected]"], (object) ["email" => "wefwef"], (object) ["email" => "wefewf"], ]; // Merge the arrays $mergedArray = array_merge($array1, $array2); // Remove duplicate values $uniqueArray = array_unique($mergedArray, SORT_REGULAR); // Print the merged and unique array print_r($uniqueArray); ?>
Output:
Array ( [0] => stdClass Object ( [email] => gffggfg ) [1] => stdClass Object ( [email] => [email protected] ) [2] => stdClass Object ( [email] => wefewf ) [3] => stdClass Object ( [email] => wefwef ) )
Seperti yang anda lihat, $uniqueArray yang terhasil hanya mengandungi nilai e-mel unik, berjaya menggabungkan dan menyahduplikasi dua tatasusunan input .
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggabungkan tatasusunan dengan objek yang sama dan menghapuskan pendua dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!