Banyak orang bertanya kepada saya bagaimana membuat array multidimensi Unik. Saya telah mengambil referensi dari komentar Anda dan itu membantu saya.
Pertama-tama, Terima kasih kepada @jeromegamez @daveiler untuk solusi Anda. Tetapi setiap kali saya memberikan jawaban, mereka bertanya kepada saya bagaimana 'serialisasi' dan 'unserialize' ini bekerja. Itu sebabnya saya ingin berbagi alasan ini dengan Anda sehingga akan membantu lebih banyak orang untuk memahami konsep di balik ini.
Saya menjelaskan mengapa kami menggunakan 'serialize' dan 'unserialize' dalam langkah-langkah:
Langkah 1: Konversi array multidimensi menjadi array satu dimensi
Untuk mengonversi array multidimensi menjadi array satu dimensi, pertama-tama buat representasi aliran byte dari semua elemen (termasuk array bersarang) di dalam array. fungsi serialize () dapat menghasilkan representasi stream byte dari suatu nilai. Untuk menghasilkan representasi aliran byte dari semua elemen, panggil fungsi serialize () di dalam fungsi array_map () sebagai fungsi callback. Hasilnya akan menjadi array satu dimensi tidak peduli berapa banyak level yang dimiliki array multidimensi.
Langkah 2: Buat nilainya unik
Untuk membuat array satu dimensi ini unik, gunakan fungsi array_unique ().
Langkah 3: Kembalikan ke array multidimensi
Meskipun array sekarang unik, nilainya terlihat seperti representasi stream byte. Untuk mengembalikannya ke array multidimensi, gunakan fungsi unserialize ().
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
Terima kasih sekali lagi untuk semua ini.