$v1){$r1[$v1]=$k1;}foreach($r1 sebagai $k2=>$v2){$r2[$v2]=$k2;}"."/> $v1){$r1[$v1]=$k1;}foreach($r1 sebagai $k2=>$v2){$r2[$v2]=$k2;}".">
Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengalih keluar nilai yang sama dari tatasusunan dalam php
Tiga kaedah: 1. Gunakan array_unique, sintaks "array_unique(array)"; 2. Gunakan array_flip(), sintaks "array_flip(array_flip(array))"; , sintaks "foreach($arr as $k1=>$v1){$r1[$v1]=$k1;}foreach($r1 as $k2=>$v2){$r2[$v2]= $ k2;}".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
Mengalih keluar nilai yang sama dalam tatasusunan adalah untuk mengalih keluar tatasusunan Nilai pendua dalam . Terdapat banyak cara untuk mengalih keluar pendua daripada tatasusunan PHP Mari perkenalkan kepada anda di bawah.
Kaedah 1: Gunakan fungsi deduplikasi array_unique()
Fungsi array_unique() digunakan untuk mengalih keluar nilai pendua dalam tatasusunan . Jika dua atau lebih nilai tatasusunan adalah sama, hanya nilai pertama dikekalkan dan nilai lain dikeluarkan.
Nota: Tatasusunan yang dikekalkan akan mengekalkan jenis kunci item tatasusunan pertama.
array_unique(array,sortingtype)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
sortingtype | 可选。规定排序类型。可能的值:
|
Nilai pulangan: Mengembalikan tatasusunan yang ditapis.
Contoh: Alih keluar nilai yang sama
<?php $arr1 =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3); var_dump($arr1); $arr2=array_unique($arr1); var_dump($arr2); ?>
Kaedah 2: Gunakan fungsi array_flip()
array_flip() fungsi digunakan untuk menterbalikkan/menukar nama kunci dalam tatasusunan dan nilai kunci berkaitan yang sepadan.
Nama kunci tatasusunan adalah unik dan tidak akan wujud berulang kali.
Menggunakan ciri ini, jika dua nilai dalam tatasusunan adalah sama, kunci dan nilai terakhir akan dikekalkan selepas membalikkan tatasusunan, yang secara tidak langsung boleh mencapai penyahduplikasian tatasusunan.
<?php $arr =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3); var_dump($arr); $arr1 = array_flip($arr);//先反转一次,去掉重复值 var_dump($arr1); $arr2 = array_flip($arr1);//再反转回来,得到去重后的数组 var_dump($arr2); ?>
Perbezaan antara kaedah 1 dan kaedah 2:
Menggunakan array_flip() untuk mendapatkan kunci terakhir elemen berulang Dan nilai, gunakan array_unique untuk mendapatkan kunci dan nilai pertama dalam elemen berulang.
Kaedah 3: Gunakan pernyataan foreach dan dua tatasusunan kosong
Atau gunakan ciri unik nama kunci, gunakan pernyataan foreach dan dua tatasusunan kosong Tatasusunan untuk membalikkan nama kunci dan kedudukan nilai kunci tatasusunan dua kali.
<?php header("content-type:text/html;charset=utf-8"); function f($arr){ var_dump($arr); $res1=[]; $res2=[]; foreach($arr as $k1=>$v1){ $res1[$v1]=$k1; } foreach ($res1 as $k2 => $v2){ $res2[$v2]=$k2; } echo "去重后的数组:"; var_dump($res2); } $arr=array(1,2,3,4,5,4,3,2,1,0); f($arr); ?>
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai yang sama dari tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!