Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan dua dimensi php
Dalam PHP, tatasusunan dua dimensi ialah struktur data yang sangat popular. Walau bagaimanapun, apabila kita perlu menyahduplikasi data dalam tatasusunan dua dimensi, kita mungkin menghadapi beberapa kesukaran.
Artikel ini akan memperkenalkan cara menyahduplikasi tatasusunan dua dimensi dalam PHP dan mengekalkan nilai unik. Kami akan membincangkan dua amalan biasa: menggunakan gelung dan menggunakan fungsi array_map().
Menggunakan gelung untuk melintasi tatasusunan dua dimensi untuk mencari nilai pendua dan memadamkannya ialah kaedah yang paling langsung. Berikut ialah kod sampel:
function unique_arr($array2D){ foreach ($array2D as $k=>$v){ $tem[$k] = serialize($v); } $tem = array_unique($tem); foreach ($tem as $k=>$v){ $array[$k] = unserialize($v); } return $array; }
Dalam kod di atas, kami mula-mula menggunakan gelung foreach untuk melelaran ke atas tatasusunan dua dimensi, mensiri tatasusunan dan menyimpannya dalam tatasusunan sementara $tem. Kemudian kami menggunakan fungsi array_unique() untuk mengalih keluar nilai pendua dalam $tem. Akhir sekali, kami menggunakan gelung foreach sekali lagi untuk menyahsiri dan menyimpannya dalam array $array. Akhirnya, fungsi mengembalikan tatasusunan dua dimensi yang tidak menduplikasi.
Dalam PHP, fungsi array_map() boleh digunakan untuk melaksanakan fungsi panggil balik pada setiap elemen dalam tatasusunan. Mengalih keluar nilai pendua daripada tatasusunan dua dimensi juga boleh dilakukan dengan mudah menggunakan fungsi array_map(). Contoh kod adalah seperti berikut:
function unique_arr($array2D){ $serialize_array = array_map('serialize', $array2D); $unique_serialize_array = array_unique($serialize_array); $array = array_map('unserialize', $unique_serialize_array); return $array; }
Seperti kaedah pertama, dalam kod contoh ini, kita mula-mula menyusun dan menyimpan tatasusunan dalam tatasusunan baharu $serialize_array. Seterusnya, kami menggunakan fungsi array_unique() untuk mengalih keluar nilai pendua dalam $serialize_array. Akhir sekali, kami menggunakan fungsi array_map() untuk menyahsiri tatasusunan bersiri dan menyimpannya dalam $array, akhirnya mengembalikan tatasusunan dua dimensi bukan pendua.
3. Ringkasan
Dalam PHP, terdapat dua cara biasa untuk mengalih keluar nilai pendua daripada tatasusunan dua dimensi: menggunakan gelung dan menggunakan fungsi array_map(). Walaupun kedua-dua kaedah boleh mencapai kefungsian, menggunakan fungsi array_map() lebih mudah dibaca dan difahami kerana sifatnya yang ringkas dan mudah difahami.
Ringkasnya, apabila berurusan dengan tatasusunan dua dimensi, kami perlu memberi perhatian kepada pelbagai operasi tatasusunan untuk memproses data kami dengan lebih cekap dan mudah.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan dua dimensi php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!