Dalam pembangunan harian kami, deduplikasi tatasusunan ialah operasi yang sering digunakan. Sudah tentu, tidak sukar untuk mengalih keluar pendua daripada tatasusunan biasa Kita boleh menggunakan foreach untuk melintasi tatasusunan dan kemudian menambah bahagian bukan pendua pada tatasusunan baharu. Walau bagaimanapun, apabila elemen yang sama muncul dalam tatasusunan, kita biasanya perlu menyimpan yang terkini dan memadamkan elemen pendua yang lain. Jadi, bagaimana untuk mencapai ini?
Artikel ini akan memperkenalkan kaedah untuk menggunakan bahasa PHP untuk memadamkan elemen pendua tatasusunan dan mengekalkan rekod terkini. Kami akan melaksanakannya dalam tiga langkah berikut:
1 Gunakan fungsi array_unique untuk menyahduplikasi fungsi
array_unique() boleh menyahduplikasi tatasusunan, dan ia akan mengenal pasti elemen pendua dalam tatasusunan dan memadam secara automatik. Contohnya:
$arr = array(1, 2, 3, 3, 4, 4, 5); print_r(array_unique($arr)); // 输出 [1, 2, 3, 4, 5]
Walau bagaimanapun, selepas menggunakan fungsi array_unique, elemen dalam tatasusunan tidak disimpan terkini mengikut keperluan kita, jadi apakah yang perlu kita lakukan?
2. Gunakan fungsi array_reverse untuk membalikkan tatasusunan
Jika kita boleh mengisih tatasusunan dalam susunan terbalik, maka kita boleh mengekalkan elemen terkini selepas penyahduplikasian. Kita boleh menggunakan fungsi array_reverse untuk mengisih tatasusunan dalam susunan terbalik. Contohnya:
$arr = array(1, 2, 3, 3, 4, 4, 5); $arr = array_reverse($arr); print_r($arr); // 输出 [5, 4, 4, 3, 3, 2, 1]
3 Gunakan foreach loop dan fungsi unset untuk memadamkan elemen pendua
Selepas dua langkah di atas, kami telah mengisih tatasusunan dalam susunan terbalik dan boleh mengekalkan elemen terkini . Seterusnya, anda boleh menggunakan gelung foreach dan fungsi unset untuk mengalih keluar elemen pendua. Operasi khusus adalah seperti berikut:
$arr = array(1, 2, 3, 3, 4, 4, 5); $arr = array_reverse($arr); $unique = array(); foreach ($arr as $key=>$value) { if (!in_array($value, $unique)) { $unique[] = $value; } else { // 删除重复元素 unset($arr[$key]); } } // 最后再将数组逆序回来 $arr = array_reverse($arr); print_r($arr); // 输出 [1, 2, 3, 4, 5]
Melalui operasi di atas, kami telah berjaya melaksanakan fungsi memadamkan elemen pendua tatasusunan dan mengekalkan rekod terkini. Walaupun kaedah ini melibatkan beberapa operasi pengisihan tatasusunan dalam susunan terbalik dan memadamkan elemen, keseluruhan proses ini tidak rumit dan sesuai untuk pelbagai senario pembangunan PHP.
Atas ialah kandungan terperinci Bagaimana untuk memadam rekod pendua dalam tatasusunan dalam php dan menyimpan data terkini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!