Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cari nilai yang sama dalam tatasusunan php

Cari nilai yang sama dalam tatasusunan php

PHPz
PHPzasal
2023-05-19 10:31:07884semak imbas

Sebagai bahasa pengaturcaraan sumber terbuka yang popular, PHP boleh menangani satu siri masalah dengan cekap, salah satunya ialah memproses tatasusunan, PHP juga menyediakan banyak fungsi yang berkuasa. Dalam artikel ini, kami akan membincangkan terutamanya cara mencari elemen yang sama dalam tatasusunan.

Kaedah untuk mencari elemen yang sama

Dalam PHP, terdapat kaedah yang berbeza untuk mencari elemen yang sama dalam tatasusunan Seterusnya kami akan memperkenalkan beberapa kaedah asas:

Kaedah 1 : Gunakan fungsi array_count_values ​​

Fungsi array_count_values ​​​​boleh mencari bilangan kejadian setiap elemen dalam tatasusunan dengan mudah, dan kemudian kita hanya perlu menapis elemen yang kejadiannya lebih besar daripada 1. Kod sampel adalah seperti berikut:

$arr = array(1,2,3,4,5,3,2,1,2,5,5);

$counts = array_count_values($arr);

foreach($counts as $key=>$value){
    
    if($value > 1){
        
         echo "元素".$key."出现了".$value."次"."<br/>";
         
    }
}

Kaedah 2: Gunakan fungsi array_unique dan array_diff

Fungsi array_unique boleh mengembalikan tatasusunan selepas mengalih keluar elemen pendua, manakala fungsi array_diff boleh mengembalikan perbezaan antara dua tatasusunan. Melalui gabungan kedua-dua fungsi ini, kita boleh mencari elemen yang sama dalam tatasusunan asal. Kod sampel adalah seperti berikut:

$arr = array(1,2,3,4,5,3,2,1,2,5,5);

$unique_arr = array_unique($arr);

$diff_arr = array_diff_assoc($arr,$unique_arr);

foreach($diff_arr as $value){
    
    echo "元素".$value."是相同的"."<br/>";
}

Kaedah 3: Gunakan fungsi array_intersect

Fungsi array_intersect mengembalikan persilangan dua tatasusunan, dan kemudian menggunakan fungsi array_unique untuk mengalih keluar pendua untuk mendapatkan unsur yang sama. Kod sampel adalah seperti berikut:

$arr1 = array(1,2,3,4,5);

$arr2 = array(3,4,5,6,7);

$intersect_arr = array_intersect($arr1,$arr2);

$unique_arr = array_unique($intersect_arr);

foreach($unique_arr as $value){
    
    echo "元素".$value."是相同的"."<br/>";
}

Kaedah 4: Melintasi tatasusunan

Kaedah yang paling mudah dan paling primitif ialah melintasi tatasusunan secara terus melalui gelung untuk mencari elemen yang sama. Kod sampel adalah seperti berikut:

$arr = array(1,2,3,4,5,3,2,1,2,5,5);

for($i=0;$i<count($arr);$i++){
    
    for($j=$i+1;$j<count($arr);$j++){
        
        if($arr[$i] == $arr[$j]){
            
            echo "元素".$arr[$i]."和元素".$arr[$j]."是相同的"."<br/>";
        }
    }
}

Di atas adalah empat kaedah biasa Sebenarnya, terdapat banyak kaedah operasi tatasusunan, dan terdapat banyak kaedah yang cekap dan ringkas yang boleh digunakan.

Idea dan langkah berjaga-jaga

Untuk masalah mencari elemen yang sama, kita memerlukan pemikiran dan langkah berjaga-jaga tertentu:

  1. Tentukan kaedah penyelesaian: dalam pelbagai penyelesaian Antara kaedah, kaedah yang paling sesuai perlu ditentukan berdasarkan keperluan sebenar. Sebagai contoh, jika anda perlu mencari bilangan kejadian, anda harus memilih untuk menggunakan fungsi array_count_values ​​​​.
  2. Pertimbangkan saiz tatasusunan: Jika tatasusunan adalah sangat besar, kita mungkin memerlukan cara yang lebih cekap untuk mengendalikannya bagi mengelakkan mengambil masa terlalu lama atau memakan terlalu banyak memori.
  3. Pengendalian kes khas: Dalam sesetengah kes, mungkin terdapat unsur pendua dalam tatasusunan, tetapi kami tidak memerlukan elemen pendua ini. Pada masa ini, anda boleh menggunakan fungsi array_unique untuk mengalih keluar pendua.
  4. Pengoptimuman bilangan gelung: Apabila menggunakan gelung untuk merentasi tatasusunan, kita harus cuba mengurangkan bilangan gelung Contohnya, apabila gelung di lapisan luar, kita boleh pergi dari 0 kepada panjang daripada tatasusunan -1, dan apabila gelung dalam lapisan dalam, kita boleh bermula dari lapisan luar Permulaan seterusnya gelung ialah kepada panjang tatasusunan.

Ringkasan

Memproses elemen yang sama dalam tatasusunan ialah operasi yang sangat biasa dalam PHP. Kita boleh menyelesaikan masalah ini dalam beberapa cara. Apabila memilih kaedah penyelesaian, kaedah optimum harus dipilih berdasarkan keperluan sebenar dan saiz tatasusunan. Di samping itu, terdapat banyak teknik dan kaedah untuk mengendalikan tatasusunan, yang perlu diamalkan secara berterusan dan diringkaskan dalam pengaturcaraan sebenar.

Atas ialah kandungan terperinci Cari nilai yang sama 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