Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memadam elemen pendua dari tatasusunan dalam php

Bagaimana untuk memadam elemen pendua dari tatasusunan dalam php

青灯夜游
青灯夜游asal
2023-01-12 15:26:571917semak imbas

Kaedah 1: Gunakan fungsi array_unique() untuk menyahduplikasi tatasusunan, sintaksnya ialah "array_unique($arr)" 2. Manfaatkan ciri nama kunci tatasusunan PHP yang tidak boleh diulang dan gunakan array_flip () berfungsi untuk membalikkan nombor dua kali Nama kunci dan kedudukan nilai kunci kumpulan, sintaksnya ialah "array_flip(array_flip($arr))"; , gunakan pernyataan foreach untuk membalikkan nama kunci dan kedudukan nilai kunci tatasusunan dua kali.

Bagaimana untuk memadam elemen pendua dari tatasusunan dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi PHP 8, komputer DELL G3

php menyediakan pelbagai kaedah untuk memadam elemen pendua daripada tatasusunan. Mari ketahui di bawah.

Kaedah 1: Gunakan fungsi array_unique() untuk menyahduplikasi tatasusunan

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.

<?php 
header("content-type:text/html;charset=utf-8");
$array = array(1,2,3,3,4,2,3,5,6,4,5,7,8,9,10); 
var_dump($array);       
 
$result = array_unique($array);
echo "删除重复元素后的数组";
//var_dump(array_values($filtered_array)); 
var_dump($result);
?>

Bagaimana untuk memadam elemen pendua dari tatasusunan dalam php

Kaedah 2: Gunakan fungsi array_flip()

array_flip() Fungsi ini digunakan untuk membalikkan/menukar nama kunci dalam tatasusunan dan nilai kunci berkaitan yang sepadan.

Ia mempunyai ciri yang jika dua nilai dalam tatasusunan adalah sama, maka kunci dan nilai terakhir akan dikekalkan selepas penyongsangan Menggunakan ciri ini, kami menggunakannya untuk mencapai penyahduplikasian secara tidak langsung tatasusunan.

<?php
header("content-type:text/html;charset=utf-8");
$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);
// 输出原始数组
echo "原始数组 :";
var_dump($a);
// 通过使用翻转键和值移除重复值
$a = array_flip($a);
// 通过再次翻转键和值来恢复数组元素
$a = array_flip($a);
// 重新排序数组键
$a = array_values($a);
// 输出更新后的数组
echo "更新数组 :";
var_dump($a);
?>

Bagaimana untuk memadam elemen pendua dari tatasusunan dalam php

Kaedah 3: Gunakan pernyataan foreach untuk membalikkan nama kunci dan kedudukan nilai kunci tatasusunan dua kali

Langkah 1: Tentukan 2 tatasusunan kosong untuk menyimpan dua kali nama kunci terbalik dan nilai kunci

$res1=[];
$res2=[];

Langkah 2: Gunakan pernyataan foreach untuk melintasi Asal tatasusunan, tetapkan nama kunci tatasusunan asal dan nilai kunci kepada tatasusunan kosong sebagai nilai kunci dan nama kunci

foreach ($array as $k1 => $v1){  //在每次循环中会将当前数组的值赋给 $v1,键名赋给 $k1
    $res1[$v1]=$k1;
}

akan mendapat tatasusunan dengan nama kunci terbalik dan nilai kunci

Langkah 3: Gunakan pernyataan foreach untuk melintasi tatasusunan terbalik, dan tetapkan nama kunci dan nilai kunci tatasusunan terbalik kepada tatasusunan kosong yang lain sebagai nilai kunci dan nama kunci

foreach ($res1 as $k2 => $v2){  
    $res2[$v2]=$k2;
}

Kod pelaksanaan

<?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);
?>

Bagaimana untuk memadam elemen pendua dari tatasusunan dalam php

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk memadam elemen pendua dari tatasusunan dalam 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