$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  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar nilai yang sama dari tatasusunan dalam php

Bagaimana untuk mengalih keluar nilai yang sama dari tatasusunan dalam php

青灯夜游
青灯夜游asal
2022-09-28 18:21:053690semak imbas

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;}".

Bagaimana untuk mengalih keluar nilai yang sama dari tatasusunan dalam php

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 可选。规定排序类型。可能的值:
  • SORT_STRING - 默认。把每一项作为字符串来处理。
  • SORT_REGULAR - 把每一项按常规顺序排列(Standard ASCII,不改变类型)。
  • SORT_NUMERIC - 把每一项作为数字来处理。
  • SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。

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

Bagaimana untuk mengalih keluar nilai yang sama dari tatasusunan dalam php

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

Bagaimana untuk mengalih keluar nilai yang sama dari tatasusunan dalam php

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

Bagaimana untuk mengalih keluar nilai yang sama dari tatasusunan dalam php

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!

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