Bagaimana saya bisa menghapus nilai duplikat dari array di PHP?
155
Bagaimana saya bisa menghapus nilai duplikat dari array di PHP?
Gunakan array_unique () .
Contoh:
$array = array(1, 2, 2, 3);
$array = array_unique($array); // Array is now (1, 2, 3)
Note that array_unique() is not intended to work on multi dimensional arrays.
$array = array_unique($array, SORT_REGULAR);
Menggunakan
array_values(array_unique($array));
array_unique
: untuk array unikarray_values
: untuk pengindeksan ulangsumber
array_unique
mengembalikan objek dengan pasangan kunci dan nilai DANarray_values
hanya mengembalikan nilai sebagai array.sumber
Satu-satunya hal yang berhasil bagi saya adalah:
Sunting:
SORT_REGULAR
menjaga urutan yang sama dari array asli.sumber
sumber
terkadang
array_unique()
bukan itu caranya, jika Anda ingin mendapatkan item unik DAN duplikat ...hasil pada
sumber
Kita dapat membuat jenis array untuk menggunakan nilai terakhir ini akan diperbarui ke kolom atau nilai kunci dan kita akan mendapatkan nilai unik dari array ...
sumber
explode(",", implode(",", array_unique(explode(",", $YOUR_ARRAY))));
Ini akan menangani asosiasi kunci dan membuat serialisasi kunci untuk array baru yang dihasilkan :-)
sumber
explode("," $YOUR_ARRAY)
saat$YOUR_ARRAY
iniarray("1", "2", "3")
?Tergantung pada ukuran array Anda, saya telah menemukan
bisa lebih cepat dari array_unique.
sumber
Itu cara yang bagus untuk melakukannya. Mungkin ingin memastikan hasilnya kembali array lagi. Sekarang Anda hanya menunjukkan nilai unik terakhir.
Coba ini:
sumber
nilai cek pertama kali dalam array dan menemukan nilai yang sama mengabaikannya
sumber
Hapus nilai duplikat dari array asosiatif di PHP.
Array ([0] => aaa-aaa [1] => 12/1/1 [2] => 1.15)
sumber
Ada beberapa cara untuk melakukan ini, yaitu sebagai berikut
sumber
Jika Anda khawatir dengan kinerja dan memiliki larik sederhana, gunakan:
Ini jauh lebih cepat daripada array_unique.
sumber
sumber
sumber
sumber
coba kode singkat & manis ini -
Keluaran -
sumber
if
.sumber
Di sini saya telah membuat array kosong kedua dan menggunakan
for
loop dengan array pertama yang memiliki duplikat. Ini akan berjalan sebanyak hitungan dari array pertama. Kemudian dibandingkan dengan posisi array dengan array pertama dan cocok bahwa item ini sudah ada atau tidak dengan menggunakanin_array
. Jika tidak maka itu akan menambahkan item ke array keduaarray_push
.sumber
foreach
loop?foreach
karena saya jauh lebih nyaman dengan untuk loop. Itu dia.Hal ini dapat dilakukan melalui fungsi I membuat tiga fungsi duplikat mengembalikan nilai-nilai yang duplikat dalam array.
Fungsi kedua pengembalian tunggal hanya nilai-nilai yang berarti tunggal tidak diulang dalam array dan fungsi ketiga dan penuh mengembalikan semua nilai tetapi tidak digandakan jika ada nilai digandakan itu mengubahnya menjadi tunggal;
sumber
ref: Demo
sumber
Alternatif untuk fungsi array_unique () ..
Menggunakan algoritma Brute force
sumber
Saya telah melakukan ini tanpa menggunakan fungsi apa pun.
sumber