Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar elemen pendua dari tatasusunan php (tiga kaedah)

Bagaimana untuk mengalih keluar elemen pendua dari tatasusunan php (tiga kaedah)

PHPz
PHPzasal
2023-04-12 09:18:242351semak imbas

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas dengan fungsi berkuasa dan ciri fleksibel, menjadikannya bahasa pilihan untuk pembangunan bahagian belakang bagi banyak tapak web. Dalam PHP, kadangkala anda perlu mengalih keluar elemen pendua daripada tatasusunan Artikel ini akan memperkenalkan cara menggunakan pelbagai ciri PHP untuk mengalih keluar elemen tatasusunan pendua.

Kaedah 1: Gunakan fungsi array_unique()
Fungsi array_unique() terbina dalam PHP boleh mengalih keluar nilai pendua ​​​​dari tatasusunan. Fungsi ini akan mengembalikan tatasusunan baharu di mana semua nilai pendua telah dikeluarkan. Sintaks asas bagi fungsi ini adalah seperti berikut:

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

di mana $array ialah array yang perlu dinyahduplikasi, dan $sort_flags ialah bendera pengisihan , yang digunakan untuk menentukan kaedah pengisihan hasil deduplikasi, boleh menjadi nilai berikut:

  • SORT_REGULAR - Bandingkan jenis data dan nilai
  • SORT_NUMERIC - Bandingkan nilai sahaja, isih dalam susunan berangka
  • SORT_STRING - hanya bandingkan nilai, isikan dalam susunan rentetan

Kod sampel adalah seperti berikut:

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $result = array_unique($arr);  
   print_r($result); 
?>

The hasil keluaran ialah:

Array ( [a] => apple [b] => banana )

Dalam contoh di atas, memandangkan tatasusunan $arr mengandungi dua nilai yang sama "​​"apple", selepas menggunakan fungsi array_unique() untuk mengalih keluar pendua, hanya satu "epal" " kekal dalam keputusan.

Kaedah 2: Gunakan lintasan gelung
Apabila anda perlu mengalih keluar nilai pendua dalam tatasusunan, anda juga boleh menggunakan lintasan gelung untuk mencapai ini. Idea asas adalah untuk menggelungkan melalui tatasusunan, bandingkan setiap elemen dengan elemen sebelumnya, dan jika ia sama dengan elemen sebelumnya, padamkan elemen tersebut sehingga tiada lagi unsur pendua dalam tatasusunan.

Kod sampel adalah seperti berikut:

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array();  
   foreach ($arr as $value) {  
      if(!in_array($value, $newArr)){  
         $newArr[] = $value;  
      }  
   }  
   print_r($newArr);  
?>

Hasil output ialah:

Array ( [0] => apple [1] => banana )

Dalam contoh di atas, gelung foreach digunakan untuk melintasi $ tatasusunan arr dan setiap elemen di dalamnya adalah Simpannya dalam tatasusunan baharu $newArr Jika didapati nilai yang sama sudah terkandung dalam $newArr, langkau nilai dan terus semak elemen seterusnya.

Kaedah 3: Gunakan fungsi array_flip() dan array_keys()
Anda juga boleh menggunakan fungsi terbina dalam PHP array_flip() dan array_keys() untuk mengalih keluar pendua.

Fungsi array_flip() boleh digunakan untuk menukar kunci dan nilai yang sepadan dalam tatasusunan untuk mencapai tujuan penyahduplikasian. Sintaks asas fungsi ini adalah seperti berikut:

array array_flip(array $array)

di mana $array ialah array yang nilai utamanya perlu ditukar. Fungsi

array_keys() boleh mengembalikan semua kunci dalam tatasusunan Sintaks asas adalah seperti berikut:

array array_keys(array $array [, mixed $search_value = null [, bool $strict =. false ]] )

Antaranya, $array ialah array yang ditentukan, $search_value ialah parameter pilihan, digunakan untuk menentukan nilai yang hendak ditemui, jika tidak dinyatakan, semua kunci akan dikembalikan, $strict ialah parameter pilihan, digunakan untuk menentukan Sama ada hendak menggunakan perbandingan kongruen.

Kod sampel adalah seperti berikut:

<?php  
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array_flip(array_keys($arr));  
   print_r($newArr); 
?>

Hasil output ialah:

Array ( [apple] => c [banana] => b )

Dalam contoh di atas, mula-mula gunakan fungsi array_keys() untuk kembali semua kunci dalam tatasusunan $arr , dan kemudian gunakan fungsi array_flip() untuk menukar kunci dan nilai untuk mendapatkan tatasusunan baharu $newArr. Memandangkan kunci dalam tatasusunan mestilah unik, kaedah ini boleh mencapai kesan penyahduplikasian.

Ringkasan
Artikel ini memperkenalkan tiga kaedah penyahduplikasian elemen tatasusunan dalam PHP: menggunakan fungsi array_unique(), menggunakan loop traversal dan menggunakan array_flip() dan array_keys() fungsi. Kaedah yang berbeza mempunyai senario dan kesan terpakai yang berbeza, dan adalah perlu untuk memilih kaedah yang sesuai mengikut situasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen pendua dari tatasusunan php (tiga kaedah). 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