Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengalih keluar data pendua daripada tatasusunan dalam php
Dalam pembangunan sebenar, kita selalunya perlu mengosongkan data pendua daripada tatasusunan. Dalam PHP, mengalih keluar data pendua adalah tugas yang mudah kerana PHP menyediakan banyak fungsi terbina dalam untuk menyelesaikan tugas ini.
Berikut ialah beberapa fungsi terbina dalam PHP yang boleh digunakan untuk mengalih keluar data pendua dalam tatasusunan:
array_unique( ) boleh Digunakan untuk melaksanakan operasi penyahduplikasian pada tatasusunan. Ia mengembalikan tatasusunan baharu yang mengandungi semua nilai berbeza dalam tatasusunan asal.
Penggunaan:
$array = array("a","b","c","d","a","b","e"); $new_array = array_unique($array); print_r($new_array);
Output:
Array( [0] => a [1] => b [2] => c [3] => d [6] => e )
array_diff() fungsi boleh Digunakan untuk membandingkan dua tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi elemen berbeza.
Penggunaan:
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_diff($array1, $array2); print_r($new_array);
Output:
Array( [0] => a [1] => b )
fungsi array_merge() boleh Digunakan untuk menggabungkan berbilang tatasusunan menjadi satu tatasusunan. Jika terdapat data pendua selepas penggabungan, nilai terakhir yang berlaku akan dikekalkan.
Penggunaan:
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_merge($array1, $array2); print_r($new_array);
Output:
Array( [0] => a [1] => b [2] => c [3] => d [4] => a [5] => b [6] => e [7] => c [8] => d [9] => e [10] => f )
fungsi array_intersect() boleh Digunakan untuk membandingkan dua tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi unsur-unsur yang wujud dalam kedua-dua tatasusunan.
Penggunaan:
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_intersect($array1, $array2); print_r($new_array);
Output:
Array( [2] => c [3] => d [6] => e )
Jika anda ingin mengosongkan semua data pendua dalam tatasusunan, anda boleh menggunakan fungsi di atas secara gabungan. Kaedah khusus adalah seperti berikut:
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_merge(array_diff($array1, array_intersect($array1, $array2)), array_diff($array2, array_intersect($array1, $array2))); print_r($new_array);
Output:
Array( [0] => a [1] => b [4] => f )
Kaedah di atas boleh mengosongkan semua data pendua dalam tatasusunan dan mengekalkan semua elemen yang berbeza. Jika anda perlu menyimpan yang pertama atau terakhir dalam data pendua, anda boleh menggunakan kaedah berikut:
Simpan yang pertama dalam data pendua:
$new_array = array_unique($array1);
Simpan yang terakhir dalam data pendua :
$new_array = array_intersect($array1, array_unique(array_reverse($array1)));
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar data pendua daripada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!