Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memadam tatasusunan pendua dalam php (tanpa fungsi terbina dalam)

Bagaimana untuk memadam tatasusunan pendua dalam php (tanpa fungsi terbina dalam)

PHPz
PHPzasal
2023-04-21 10:02:30694semak imbas

PHP ialah bahasa skrip yang digunakan secara meluas dengan perpustakaan fungsi terbina dalam yang berkuasa yang boleh melaksanakan banyak fungsi yang diperlukan dengan mudah dalam pembangunan harian. Walau bagaimanapun, dalam beberapa kes, kita mungkin perlu melaksanakan beberapa fungsi yang tidak menggunakan fungsi terbina dalam, yang memerlukan kita mempunyai pemahaman yang mendalam dan penguasaan pengetahuan asas bahasa PHP. Artikel ini akan membincangkan cara mengalih keluar tatasusunan pendua dalam PHP tanpa menggunakan fungsi terbina dalam.

1. Latar belakang masalah

Dalam pembangunan sebenar, kita selalunya perlu memproses tatasusunan, dan kadangkala perlu mengalih keluar elemen pendua dalam tatasusunan. Masalah ini sangat mudah untuk diselesaikan jika anda menggunakan fungsi terbina dalam. PHP menyediakan banyak fungsi untuk penyahduplikasian, seperti array_unique, array_count_values, dll. Tetapi dalam beberapa kes, kita mungkin perlu melaksanakan sendiri fungsi penyahduplikasian secara manual. Sebagai contoh, dalam peperiksaan atau temu duga, anda mungkin berhadapan dengan situasi di mana anda tidak dibenarkan menggunakan fungsi terbina dalam dan hanya boleh melaksanakan fungsi tersebut secara manual. Oleh itu, dalam artikel ini, kita akan membincangkan cara melaksanakan fungsi deduplikasi secara manual dengan PHP.

2. Penjelasan kaedah

Idea asas untuk melaksanakan fungsi adalah seperti berikut:

1. jika elemen berada dalam tatasusunan baru tidak wujud).

2 Gunakan fungsi in_array untuk menentukan sama ada elemen muncul dalam tatasusunan baharu.

3 Jika elemen muncul dalam tatasusunan baharu, tiada operasi akan dilakukan.

4. Jika elemen tidak muncul dalam tatasusunan baharu, tambahkannya pada tatasusunan baharu.

Berikut ialah kod pelaksanaan khusus:

<?php
function deleteRepeat($arr)
{
    $newArr = array();
    foreach($arr as $value){
        if(in_array($value,$newArr)){
            continue;
        }else{
            $newArr[] = $value;
        }
    }
    return $newArr;
}
?>

Dalam fungsi ini, kami mula-mula mengisytiharkan tatasusunan kosong baharu $newArr. Kemudian gunakan gelung foreach untuk melintasi tatasusunan asal $arr. Gunakan fungsi in_array dalam badan gelung untuk menentukan sama ada setiap elemen muncul dalam $newArr. Jika elemen muncul dalam $newArr, gunakan pernyataan continue untuk melangkau gelung ini. Jika tidak, gunakan operator [] untuk menambah elemen pada $newArr. Akhirnya, tatasusunan baru $newArr dikembalikan.

3. Pengujian

Untuk mengesahkan sama ada fungsi kami sah, kami perlu mengujinya. Kod berikut menunjukkan cara menggunakan fungsi kami untuk mengalih keluar pendua daripada tatasusunan:

<?php
$arr = array(3,6,9,6,3,8,1);
$newArr = deleteRepeat($arr);
print_r($newArr);
?>

Hasil output ialah:

Array ( [0] => 3 [1] => 6 [2] => 9 [3] => 8 [4] => 1 )

Seperti yang anda lihat, fungsi ini berjaya mengalih keluar pendua daripada tatasusunan asal Mengulangi elemen.

4. Ringkasan

Dalam artikel ini, kami membincangkan cara melaksanakan fungsi penyahduplikasian tatasusunan dalam PHP. Memandangkan PHP mempunyai banyak fungsi terbina dalam untuk penyahduplikasian, ramai pembangun mungkin mendapati ia berlebihan untuk melaksanakan fungsi ini secara manual. Walau bagaimanapun, dalam beberapa kes, adalah penting untuk mengetahui cara melaksanakan fungsi ini secara manual, kerana ia menunjukkan penguasaan anda terhadap asas bahasa PHP. Pada masa yang sama, melaksanakan fungsi penyahduplikasian secara manual juga boleh membantu kami memahami dengan lebih baik aliran kerja operasi tatasusunan dalam PHP, yang juga sangat membantu untuk pengoptimuman dan penyahpepijatan kod kami semasa pembangunan.

Atas ialah kandungan terperinci Bagaimana untuk memadam tatasusunan pendua dalam php (tanpa fungsi terbina dalam). 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