Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza

Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza

青灯夜游
青灯夜游asal
2022-05-12 20:44:422291semak imbas

Kaedah perbandingan: 1. Gunakan pernyataan "array_diff(array1, array2)" untuk membandingkan nilai kunci; 2. Gunakan pernyataan "array_diff_key(array1, array2)" untuk membandingkan nama kunci; array_diff_assoc(array 1, array 2)" pernyataan serentak membandingkan nama kunci dan nilai kunci tatasusunan.

Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza

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

Bandingkan dua php Array dan kembalikan elemen yang berbeza

Jika anda ingin membandingkan dua tatasusunan dan mendapatkan elemen yang berbeza, anda hanya perlu membandingkan tatasusunan dan mengambil set perbezaan.

Dalam PHP, anda boleh menggunakan fungsi berikut untuk mengambil set perbezaan:

  • array_diff() function

  • array_diff_key () Fungsi

  • fungsi array_diff_assoc()

fungsi array_diff() - bandingkan nilai kunci array

Fungsi array_diff($arr1,$arr2...) hanya membandingkan nilai utama tatasusunan dan mengembalikan tatasusunan perbezaan Unsur-unsur dalam tatasusunan perbezaan wujud dalam tatasusunan yang dibandingkan $arr1, tetapi tidak wujud dalam tatasusunan parameter lain $arr2....

Contoh: Kembalikan elemen tatasusunan yang berbeza

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow");
var_dump($arr1);
var_dump($arr2);
$result=array_diff($arr1,$arr2);
echo "两个数组中,不同的元素为:";
var_dump($result);
?>

Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza

Dalam contoh di atas, hanya 1 nama kunci dalam tatasusunan $arr1 dan tatasusunan $arr2 tidak Begitu juga, berdasarkan tatasusunan $arr1, nilai ""c"=>"blue"" akan diperolehi.

2. Fungsi array_diff_key() - membandingkan nama kunci tatasusunan

array_diff_key($arr1,$arr2...) fungsi hanya membandingkan nama kunci tatasusunan , Juga mengembalikan tatasusunan perbezaan Unsur-unsur dalam tatasusunan perbezaan wujud dalam tatasusunan yang dibandingkan $arr1, tetapi tidak wujud dalam tatasusunan parameter lain $arr2....

Contoh: Kembalikan elemen tatasusunan yang berbeza

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow");
var_dump($arr1);
var_dump($arr2);
$result=array_diff_key($arr1,$arr2);
echo "两个数组中,不同的元素为:";
var_dump($result);
?>

Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza

Dalam contoh di atas, dua nama utama dalam tatasusunan $arr1 dan tatasusunan $arr2 adalah berbeza , berdasarkan tatasusunan $arr1, nilai ​​​​""c"=>"blue"" dan ""d"=>"yellow"" akan diperolehi.

3. fungsi array_diff_assoc() - bandingkan nama kunci dan nilai kunci tatasusunan

array_diff_assoc($arr1,$arr2...) fungsi akan bandingkan kekunci tatasusunan Kedua-dua nama dan nilai kekunci dibandingkan, dan tatasusunan perbezaan juga dikembalikan Elemen perbezaan akan diperolehi daripada tatasusunan $arr1 seperti tatasusunan_diff() dan tatasusunan_diff_key().

Contoh: Kembalikan elemen tatasusunan yang berbeza

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow");
var_dump($arr1);
var_dump($arr2);
$result=array_diff_assoc($arr1,$arr2);
echo "两个数组中,不同的元素为:";
var_dump($result);
?>

Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza

Dalam contoh di atas, tatasusunan $arr1 dan tatasusunan $arr2 dibandingkan, dan terdapat tiga elemen berbeza, dan kemudian berdasarkan tatasusunan $arr1, nilai ​​​""a"=>"red"", ""c"=>"blue"", dan ""d"=>"yellow"" akan diperolehi.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua tatasusunan dalam php dan mengembalikan elemen yang berbeza. 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