Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php

Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php

青灯夜游
青灯夜游asal
2022-04-29 20:32:036604semak imbas

Langkah perbandingan: 1. Gunakan pernyataan "array_diff_assoc($arr1,$arr2)" untuk membandingkan nama kunci dan nilai kunci kedua-dua tatasusunan dan mengembalikan tatasusunan perbezaan 2. Gunakan "tatasusunan perbezaan ==[] " pernyataan menentukan sama ada tatasusunan perbezaan ialah tatasusunan kosong. Jika tatasusunan kosong, ini bermakna kedua-dua tatasusunan yang dibandingkan adalah sama, jika tidak, ia tidak sama.

Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php

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

Dalam php, anda boleh menggunakan tatasusunan Set perbezaan digunakan untuk menentukan sama ada dua tatasusunan adalah sama.

  • Jika perbezaan antara dua tatasusunan kosong, maka tiada unsur yang berbeza dalam dua tatasusunan, iaitu dua tatasusunan adalah sama

  • Jika set perbezaan dua tatasusunan tidak kosong, maka terdapat unsur-unsur yang berbeza dalam dua tatasusunan, iaitu dua tatasusunan tidak sama

Jadi apakah itu set perbezaan tatasusunan? Anda boleh menggunakan fungsi array_diff_assoc().

  • array_diff_assoc() digunakan untuk membandingkan nama kunci dan nilai kunci dua (atau lebih) tatasusunan dan mengembalikan tatasusunan perbezaan.

Dua tatasusunan adalah sama hanya jika nama kunci tatasusunan dan nilai kuncinya adalah sama.

Langkah pelaksanaan:

1 Gunakan array_diff_assoc() untuk mendapatkan perbezaan tatasusunan

<?php 
header("content-type:text/html;charset=utf-8");
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"red","b"=>"green","c"=>"blue");
$arr3=array("a"=>"red","b"=>"green","c"=>"blue");
$diff1=array_diff_assoc($arr1,$arr2);
var_dump($diff1);
$diff2=array_diff_assoc($arr2,$arr3);
var_dump($diff2);
?>

Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php

Daripada keluaran dapat dilihat terdapat perbezaan yang ditetapkan antara $arr1 dan $arr2, tetapi tiada perbezaan yang ditetapkan antara $arr2 dan $arr3

2 Tentukan sama ada tatasusunan set perbezaan itu tatasusunan kosong

if($diff1==[]){
	echo "两数组相等<br>";
}
else{
	echo "两数组不相等<br>";
}

Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php

Kerana tatasusunan perbezaan $arr1 dan $arr2 bukanlah tatasusunan kosong, jadi ia tidak sama

if($diff2==[]){
	echo "两数组相等<br>";
}
else{
	echo "两数组不相等<br>";
}

Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php

Kerana $arr2 dan $arr3 ialah tatasusunan kosong dan oleh itu sama.

Sambungan: Merangkumkan kod:

<?php 
header("content-type:text/html;charset=utf-8");
function f($arr1,$arr2){
	$diff1=array_diff_assoc($arr1,$arr2);
	if($diff1==[]){
		echo "两数组相等<br>";
	}
	else{
		echo "两数组不相等<br>";
	}
}

$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"red","b"=>"green","c"=>"blue");
$arr3=array("a"=>"red","b"=>"green","c"=>"blue");

f($arr1,$arr2);

f($arr2,$arr3);
?>

Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan dalam php

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua tatasusunan untuk kesamaan 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