Rumah >pembangunan bahagian belakang >masalah PHP >php memadam perenggan berulang dari tatasusunan

php memadam perenggan berulang dari tatasusunan

王林
王林asal
2023-05-07 12:58:07407semak imbas

Kata Pengantar

Apabila membangunkan aplikasi PHP, jika anda perlu mengalih keluar elemen pendua dalam tatasusunan, anda boleh menggunakan beberapa fungsi terbina dalam atau melakukan operasi traversal secara manual. Artikel ini akan memperkenalkan beberapa kaedah untuk mengalih keluar elemen pendua daripada tatasusunan dalam PHP, dan menerangkan serta menganalisisnya secara terperinci.

Kaedah 1: Gunakan fungsi array_unique()

Dalam PHP, anda boleh menggunakan fungsi array_unique() untuk memadamkan elemen pendua dalam tatasusunan. Fungsi ini akan mengembalikan tatasusunan baharu yang mengandungi hanya elemen unik daripada tatasusunan asal.

$arr = tatasusunan(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_unique($arr);
print_r( $new_arr); // Output: Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
? >

Dalam kod di atas, kita mula-mula mencipta tatasusunan $arr yang mengandungi elemen berulang, kemudian mengendalikannya menggunakan fungsi array_unique() dan menyimpan hasilnya dalam $new_arr. Akhir sekali, keluarkan hasilnya melalui fungsi print_r() dan anda boleh melihat tatasusunan baharu yang mengandungi hanya elemen tidak berulang.

Perlu diambil perhatian bahawa fungsi array_unique() akan mengekalkan susunan asal elemen tatasusunan, iaitu, tanpa mengira susunan unsur-unsur muncul, susunan tatasusunan baharu akan sama seperti tatasusunan asal.

Kaedah 2: Merentasi tatasusunan secara manual

Selain menggunakan fungsi array_unique(), kita juga boleh menggunakan kaedah melintasi tatasusunan secara manual untuk memadamkan elemen pendua. Langkah-langkah khusus adalah seperti berikut:

  • Buat tatasusunan baharu $new_arr untuk menyimpan elemen unik.
  • Lintas tatasusunan asal $arr, dan tentukan sama ada elemen semasa sudah wujud dalam tatasusunan baharu $new_arr setiap kali ia gelung.
  • Tambahkan elemen semasa pada $new_arr jika ia tidak wujud.
  • Akhirnya mengembalikan tatasusunan baharu $new_arr.

Kod pelaksanaan adalah seperti berikut:

$arr = array(1, 2, 2, 3, 4, 4, 5);
$ new_arr = array();
for ($i = 0; $i < count($arr); $i++) {

if (!in_array($arr[$i], $new_arr)) {
    $new_arr[] = $arr[$i];
}

}
print_r($new_arr); // Output : Array ([0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
?>

Dalam kod di atas, kami menggunakan gelung for untuk melintasi tatasusunan asal $arr, dan menggunakan fungsi in_array() untuk menentukan sama ada elemen semasa sudah wujud dalam tatasusunan baharu $new_arr setiap kali ia gelung. Jika ia tidak wujud, elemen semasa ditambah pada $new_arr. Akhir sekali, kandungan tatasusunan baharu dikeluarkan melalui fungsi print_r().

Perlu diambil perhatian bahawa walaupun melintasi tatasusunan secara manual boleh memadamkan elemen pendua, berbanding dengan fungsi array_unique(), ia memerlukan lebih banyak kod, kurang cekap dan terdedah kepada ralat logik. Oleh itu, cuba gunakan fungsi terbina dalam PHP dalam pembangunan sebenar.

Kaedah 3: Gunakan fungsi array_flip(), array_values()

Fungsi terbina dalam PHP menyediakan penyelesaian untuk memadamkan elemen pendua menggunakan nilai kunci tatasusunan. Langkah-langkah khusus adalah seperti berikut:

  • Gunakan fungsi array_flip() untuk membalikkan tatasusunan, menggunakan nilai dalam tatasusunan sebagai kunci dan kekunci sebagai nilai.
  • Gunakan fungsi array_values() untuk mengalih keluar kunci daripada tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi nilai sahaja.

Kod pelaksanaan adalah seperti berikut:

$arr = array(1, 2, 2, 3, 4, 4, 5);
$ new_arr = array_values(array_flip($arr));
print_r($new_arr); // Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
?>

Dalam kod di atas, kita mula-mula menggunakan fungsi array_flip() untuk membalikkan nilai dan kunci dalam array $arr Nilai sebagai kunci, kunci sebagai nilai. Tatasusunan terbalik kemudian dihantar ke fungsi array_values() dan kandungan tatasusunan baharu dikeluarkan melalui fungsi print_r().

Perlu diambil perhatian bahawa menggunakan nilai kunci untuk memadamkan elemen pendua dalam tatasusunan bergantung pada nilai elemen itu sendiri yang unik, jadi anda perlu mempertimbangkan sama ada nilai elemen mungkin diduplikasi apabila menggunakannya.

Ringkasan

Terdapat banyak kaedah untuk mengalih keluar elemen pendua dalam tatasusunan PHP, antaranya fungsi array_unique() adalah yang paling biasa digunakan. Jika anda perlu melintasi tatasusunan secara manual untuk memadamkan elemen pendua, anda perlu memberi perhatian kepada isu kecekapan dan logik kod tersebut. Kaedah menggunakan nilai kunci tatasusunan boleh meningkatkan kecekapan kod pada tahap tertentu, tetapi anda perlu mempertimbangkan sama ada nilai elemen boleh diulang.

Dalam pembangunan sebenar, adalah sangat penting untuk memilih kaedah yang sesuai untuk memadamkan elemen pendua dalam tatasusunan mengikut keperluan khusus dan jenis data.

Atas ialah kandungan terperinci php memadam perenggan berulang dari tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn