Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengalih keluar medan pendua daripada tatasusunan dalam php
Dalam PHP, tatasusunan ialah salah satu struktur data yang biasa digunakan. Untuk sesetengah senario aplikasi yang perlu memproses data, selalunya perlu mengalih keluar medan pendua dalam tatasusunan. Berikut adalah beberapa kaedah dan teknik biasa.
1. Gunakan fungsi array_unique
Fungsi array_unique ialah salah satu fungsi terbina dalam PHP yang boleh mengalih keluar nilai pendua dari array. Penggunaannya sangat mudah:
$array = array('a', 'b', 'c', 'b', 'a'); $result = array_unique($array); print_r($result);
Hasilnya ialah:
Array ( [0] => a [1] => b [2] => c )
2 Gunakan fungsi array_flip dan array_keys untuk mencapai penyahduplikasi
Fungsi array_flip boleh menukar. tatasusunan ke dalam Kekunci dan nilai ditukar ganti, dan fungsi array_keys boleh mengembalikan semua nilai kunci dalam tatasusunan. Oleh itu, kita boleh menggabungkan kedua-dua fungsi ini untuk mencapai penduaan tatasusunan:
$array = array('a', 'b', 'c', 'b', 'a'); $result = array_flip(array_flip($array)); print_r($result);
Hasilnya ialah:
Array ( [0] => a [1] => b [2] => c )
3 Gunakan gelung foreach untuk menyahduplikasi
Gunakan foreach Gelung boleh merentasi tatasusunan dan menggunakan keunikan subskrip tatasusunan untuk mencapai penduaan:
$array = array('a', 'b', 'c', 'b', 'a'); $temp = array(); foreach ($array as $value) { $temp[$value] = true; } $result = array_keys($temp); print_r($result);
Hasilnya ialah:
Array ( [0] => a [1] => b [2] => c )
4 Gunakan fungsi in_array untuk menentukan pendua
Apabila menggunakan gelung foreach untuk melintasi tatasusunan, kita boleh menggabungkannya dengan fungsi in_array untuk menentukan sama ada nilai semasa sudah wujud dalam tatasusunan hasil untuk mencapai penyahduplikasian:
$array = array('a', 'b', 'c', 'b', 'a'); $temp = array(); foreach ($array as $value) { if (!in_array($value, $temp)) { $temp[] = $value; } } print_r($temp);
Hasilnya ialah:
Array ( [0] => a [1] => b [2] => c )
5. Gunakan fungsi array_reduce untuk mencapai penyahduplikasian
Fungsi array_reduce boleh melelar dan mengumpul elemen dalam tatasusunan Kita boleh menggabungkannya dengan fungsi in_array untuk mencapai tatasusunan deduplikasi:
$array = array('a', 'b', 'c', 'b', 'a'); $result = array_reduce($array, function($carry, $item) { if (!in_array($item, $carry)) { $carry[] = $item; } return $carry; }, array()); print_r($result);
Hasilnya ialah :
Array ( [0] => a [1] => b [2] => c )
Di atas adalah beberapa kaedah untuk mengalih keluar medan pendua daripada tatasusunan dalam PHP Kaedah yang berbeza mempunyai kelebihan dan kekurangannya sendiri, dan anda boleh memilih untuk menggunakannya mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar medan pendua daripada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!