Rumah >pembangunan bahagian belakang >masalah PHP >Mari kita bincangkan tentang cara memadam elemen pendua dalam tatasusunan PHP

Mari kita bincangkan tentang cara memadam elemen pendua dalam tatasusunan PHP

PHPz
PHPzasal
2023-04-12 13:53:55592semak imbas

PHP ialah bahasa pengaturcaraan sebelah pelayan yang biasa digunakan untuk pembangunan web, pengaturcaraan halaman web dinamik, dsb. Untuk memudahkan pengaturcara PHP mengendalikan data, PHP menyediakan Tatasusunan tatasusunan sebagai jenis data Ia merupakan koleksi tersusun pasangan nilai kunci dan juga merupakan salah satu struktur data yang paling biasa digunakan dalam PHP. Dalam pembangunan sebenar, tatasusunan sering menghadapi elemen pendua Untuk menyelesaikan masalah ini, kita perlu bermula dari perspektif deduplikasi tatasusunan. Artikel ini akan memperkenalkan cara memadam elemen pendua dalam tatasusunan PHP.

1 Gunakan fungsi array_unique() untuk mengalih keluar pendua

PHP menyediakan array_unique() fungsi terbina dalam, yang digunakan untuk mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan baharu yang tidak mengandungi unsur pendua. Sintaks fungsi ini adalah seperti berikut:

array array_unique(array $array[, int $sort_flags = SORT_STRING])

Antaranya, $array ialah tatasusunan yang perlu dikendalikan, dan $sort_flags ialah parameter pilihan yang menentukan kaedah pengisihan semasa penyahduplikasi. Jika parameter ini tidak diluluskan, kaedah pengisihan rentetan akan digunakan secara lalai. Jika anda ingin mengisih mengikut saiz berangka, anda boleh memasukkan SORT_NUMERIC tetap. Berikut ialah kod sampel:

$old_array = [1, 3, 5, 3, 1, 6, 5];
$new_array = array_unique($old_array);
var_dump($new_array);

Hasil output ialah:

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(3)
  [2]=>
  int(5)
  [5]=>
  int(6)
}

Seperti yang anda lihat, selepas pemprosesan penyahduplikasian, elemen pendua dialih keluar, meninggalkan elemen yang berbeza . Perlu diingatkan bahawa nama utama tatasusunan baharu tidak berturut-turut, kerana menurut sintaks PHP, integer dan rentetan adalah dua jenis data yang berbeza.

2. Gunakan gelung untuk mengalih keluar pendua

Selain daripada array_unique() fungsi terbina dalam, kita juga boleh menggunakan gelung untuk mencapai fungsi penyingkiran pendua. Idea utama adalah untuk mengulangi setiap elemen tatasusunan Jika elemen itu sudah wujud dalam tatasusunan baharu, jangan tambahkannya jika tidak, tambahkannya pada tatasusunan baharu. Berikut ialah kod sampel:

$old_array = [1, 3, 5, 3, 1, 6, 5];
$new_array = [];

foreach ($old_array as $value) {
    if (!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}

var_dump($new_array);

Hasil output ialah:

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(3)
  [2]=>
  int(5)
  [3]=>
  int(6)
}

Seperti yang anda lihat, selepas pemprosesan gelung, elemen dalam tatasusunan baharu adalah sama dengan hasil keluaran fungsi terbina dalam, kecuali Elemen berulang dialih keluar dan elemen berbeza dikekalkan. Perlu diingat bahawa fungsi in_array() digunakan di dalam gelung untuk menentukan sama ada elemen itu sudah wujud dalam tatasusunan Nilai pulangan fungsi ini ialah nilai Boolean.

3. Gunakan fungsi array_flip() untuk menyahduplikasi

Selain array_unique() dan gelung, anda juga boleh menggunakan fungsi array_flip() untuk menyahduplikasi tatasusunan. Apa yang dilakukan oleh fungsi ini ialah menukar kedudukan kunci dan nilai dalam tatasusunan dan mengembalikan tatasusunan baharu. Oleh kerana nama utama tatasusunan dalam PHP mestilah unik, anda boleh mengalih keluar elemen pendua daripada tatasusunan dengan menggunakan fungsi ini. Berikut ialah kod sampel:

$old_array = [1, 3, 5, 3, 1, 6, 5];
$new_array = array_flip($old_array);

var_dump(array_keys($new_array));

Hasil output ialah:

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(3)
  [2]=>
  int(5)
  [3]=>
  int(6)
}

Seperti yang anda lihat, selepas menggunakan fungsi array_flip() untuk mengalih keluar pendua, tatasusunan baharu yang mengandungi hanya elemen yang berbeza dikembalikan. Tetapi perlu diingatkan bahawa nilai dalam tatasusunan asal akan digunakan sebagai nama utama tatasusunan baharu, dan nilai tatasusunan baharu akan diberikan nilai 1 secara automatik.

Kesimpulan

Artikel ini memperkenalkan tiga kaedah untuk memadamkan elemen pendua dalam tatasusunan PHP: fungsi terbina dalam array_unique(), gelung dan array_flip() fungsi. Antaranya, fungsi terbina dalam array_unique() ialah cara paling mudah, manakala fungsi gelung dan array_flip() adalah lebih fleksibel dan sesuai untuk mengendalikan situasi yang lebih istimewa atau kompleks. Tidak kira kaedah yang digunakan, perkara utama ialah kepentingan penyahduplikasian tatasusunan tidak boleh diabaikan Hanya dengan memastikan tiada unsur pendua kita boleh menggunakan tatasusunan dengan lebih baik untuk menyelesaikan pelbagai operasi.

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara memadam elemen pendua dalam tatasusunan PHP. 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