Làm cách nào để sử dụng hàm array_diff_assoc trong PHP?

tôi muốn kiểm tra xem $a có khớp với b hay không với chính xác là keyvalue

và nếu mỗi khóa và giá trị từ $a khớp chính xác trong $b. tôi muốn tăng giá trị của một biến $c lên 1, v.v.

như chúng ta đã thấy từ phía trên, có 3 trận đấu có thể xảy ra. và kết quả được cho là làm tăng giá trị của $c lên 3

PHP so sánh các mảng khóa và giá trị. Trong hướng dẫn này, bạn sẽ học cách PHP so sánh hai hoặc nhiều khóa và giá trị của mảng và tìm sự khác biệt giữa hai hoặc nhiều mảng bằng cách sử dụng hàm array_diff_assoc() của PHP

Ngoài ra, bạn sẽ tìm hiểu về hàm PHP array_diff_assoc(), định nghĩa, cú pháp, tham số và xem các ví dụ khác nhau

PHP So sánh hai hoặc nhiều mảng Keys và Values

Mảng PHP_diff_assoc()

Sự định nghĩa. Hàm array_diff_assoc() của PHP dựng sẵn. Về cơ bản, Điều này có thể được sử dụng để lấy hoặc tính toán sự khác biệt giữa một hoặc nhiều mảng trong PHP. Hàm array_diff_assoc() trong PHP so sánh các khóa và giá trị giữa một hoặc nhiều mảng và trả về sự khác biệt giữa chúng

Ghi chú. - Hàm array_diff_assoc() của PHP so sánh các khóa và giá trị của hai hoặc nhiều mảng và nó sẽ trả về một mảng chứa các mục nhập từ mảng_thứ nhất không có trong mảng_thứ hai hoặc mảng_thứ ba và mảng_n, v.v.

cú pháp

Cú pháp của hàm PHP array_diff_assoc() là

array_diff_assoc($array_first, $array_second, $array_third, …, $array_n)

Các tham số của hàm array_diff_assoc()

Tham sốMô tảmảng đầu tiênĐây là mảng đầu tiên của hàm này và bắt buộc phải có. Nó là một mảng để so sánh fromarray secondĐây là mảng thứ hai của hàm này và nó cũng được yêu cầu. Nó là một mảng được so sánh với mảng đầu tiên. Đây là mảng thứ n và nó là tùy chọn. Nó là một mảng được so sánh với mảng đầu tiên

Ví dụ 1

Bây giờ, chúng ta sẽ lấy ví dụ đầu tiên với PHP array_diff_assoc() để so sánh ba mảng khóa và giá trị trong PHP. Hãy xem bên dưới

<?php

$arr1 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"CODEIGNITER", "4"=>"WORDPRESS", "5"=>"JOOMLA");

$arr2 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"C#", "4"=>"C++");

$arr3 = array("1"=>"PHP", "2"=>"LARAVEL");

print_r(array_diff_assoc($arr1, $arr2, $arr3)); 

?>

Đầu ra của đoạn mã trên là

 Array ( [3] => CODEIGNITER [4] => WORDPRESS [5] => JOOMLA ) 

Ví dụ – 2

Hãy lấy ví dụ thứ hai, để so sánh hai mảng khóa và giá trị trong PHP. Và tìm sự khác biệt giữa chúng

Trong ví dụ này, chúng ta sẽ tạo ba mảng (key. cặp giá trị) và áp dụng hàm array_diff_assoc() để trả về chênh lệch mảng

Ở đây, mảng đầu tiên có năm phần tử -1=>’lotus’, 2=>’land’, 3=>45, 4=>14 và 5=>’india’. Mảng thứ hai có năm phần tử – 1=>’jasmine’, 2=>’water’, 3=>25, 4=>24 và 5=>’USA’. Mảng thứ ba cũng có năm phần tử -1=>’lotus’, 2=>’land’, 3=>45, 4=>14 và 5=>’india’



//tạo một mảng có tên là Flower1
$Flower1=mảng(1=>'lotus',2=>'land',3=>45,4=>14,5=>'india');
 
  //tạo một mảng có tên Flower2
$Flower2=mảng(1=>'jasmine',2=>'water',3=>25,4=>24,5=>'USA');

//tạo một mảng có tên là Flower3
$Flower3=mảng(1=>'lotus',2=>'land',3=>45,4=>14,5=>'india');

print_r($Flower1);
print_r($Flower2);
print_r($Flower3);

in("Sự khác biệt của mảng. ");
//array_diff trên $Flower1, $Flower2 và $Flower3
print_r(array_diff_assoc($Flower1,$Flower2,$Flower3));
?>

đầu ra

Làm cách nào để sử dụng hàm array_diff_assoc trong PHP?

Chúng ta có thể thấy rằng các khóa-giá trị 1-sen, 2-land, 3-45, 4-14 và 5-india có mặt trong mảng đầu tiên và cả trong mảng thứ ba. Do đó, không có phần tử nào được trả về. Vì vậy, một mảng trống (Array()) được trả về

ví dụ 2

Trong ví dụ này, chúng ta sẽ tạo ba mảng (key. cặp giá trị) và áp dụng hàm array_diff_assoc() để trả về chênh lệch mảng

Ở đây, mảng đầu tiên có năm phần tử -1=>’marigold’, 2=>’both’, 3=>5, 4=>1 và 5=>’nepal’. Mảng thứ hai có năm phần tử – 1=>’jasmine’, 2=>’water’, 3=>25, 4=>24 và 5=>’USA’. Mảng thứ ba cũng có năm phần tử – 1=>’lotus’, 2=>’land’, 3=>45, 4=>14 và 5=>’india’



//tạo một mảng có tên là Flower1
$Flower1=mảng(1=>'marigold',2=>'both',3=>5,4=>1,5=>'nepal');
 
  //tạo một mảng có tên Flower2
$Flower2=mảng(1=>'jasmine',2=>'water',3=>25,4=>24,5=>'USA');

//tạo một mảng có tên là Flower3
$Flower3=mảng(1=>'lotus',2=>'land',3=>45,4=>14,5=>'india');

print_r($Flower1);
print_r($Flower2);
print_r($Flower3);

in("Sự khác biệt của mảng. ");
//array_diff trên $Flower1, $Flower2 và $Flower3
print_r(array_diff_assoc($Flower1,$Flower2,$Flower3));
?>

đầu ra

Làm cách nào để sử dụng hàm array_diff_assoc trong PHP?

Chúng ta có thể thấy rằng các khóa-giá trị 1=>'marigold', 2=>'both', 3=>5, 4=>1 và 5=>'nepal' có trong mảng đầu tiên nhưng không có trong mảng . Do đó, tất cả các phần tử từ mảng đầu tiên được trả về

ví dụ 3

Trong ví dụ này, chúng ta sẽ tạo hai mảng (key. cặp giá trị) và áp dụng hàm array_diff_assoc() để trả về chênh lệch mảng

Ở đây, mảng đầu tiên có năm phần tử -1=>’lotus’, 2=>’land’, 3=>45, 4=>14 và 5=>’india’. Mảng thứ hai có năm phần tử – 1=>’jasmine’, 2=>’water’, 3=>25, 4=>24 và 5=>’USA’



//tạo một mảng có tên là Flower1
$Flower1=mảng(1=>'lotus',2=>'land',3=>45,4=>14,5=>'india');
 
  //tạo một mảng có tên Flower2
$Flower2=mảng(1=>'jasmine',2=>'water',3=>25,4=>24,5=>'USA');


print_r($Flower1);
print_r($Flower2);


in("Sự khác biệt của mảng. ");
//array_diff trên $Flower1 và  $Flower2
print_r(array_diff_assoc($Flower1,$Flower2));
?>

đầu ra

Làm cách nào để sử dụng hàm array_diff_assoc trong PHP?

Chúng ta có thể thấy rằng các khóa-giá trị 1-sen, 2-land, 3-45, 4-14 và 5-india có trong mảng đầu tiên nhưng không có trong mảng thứ hai. Do đó, tất cả các phần tử từ mảng đầu tiên được trả về

Ví dụ 4

Trong ví dụ này, chúng ta sẽ tạo hai mảng (key. cặp giá trị) và áp dụng hàm array_diff_assoc() để trả về chênh lệch mảng

Ở đây, mảng đầu tiên có năm phần tử – 1=>’lotus’, 2=>’land’, 3=>45, 4=>14 và 5=>’india’. Mảng thứ hai có năm phần tử – 1=>’jasmine’, 2=>’water’, 3=>25, 4=>24 và 5=>’USA’



//tạo một mảng có tên là Flower1
$Flower1=mảng(1=>'lotus',2=>'land',3=>45,4=>14,5=>'india');
 
  //tạo một mảng có tên Flower2
$Flower2=mảng(1=>'jasmine',2=>'both',3=>25,4=>24,5=>'india');


print_r($Flower1);
print_r($Flower2);


in("Sự khác biệt của mảng. ");
//array_diff trên $Flower1 và  $Flower2
print_r(array_diff_assoc($Flower1,$Flower2));
?>

đầu ra

Làm cách nào để sử dụng hàm array_diff_assoc trong PHP?

Chúng ta có thể thấy rằng các khóa-giá trị 1=>’lotus’, 2=>’land’, 3=>45 và 4=>14 có trong mảng đầu tiên nhưng không có trong mảng thứ hai. Do đó, các phần tử này từ mảng đầu tiên được trả về

Phần kết luận

Trong bài viết PHP này, chúng ta đã học cách thực hiện hàm array_diff_assoc() trên hai hoặc nhiều mảng với các cặp khóa-giá trị. Nó trả về các phần tử có trong mảng đầu tiên nhưng không có trong các mảng còn lại. Chúng tôi đã thảo luận về khái niệm này với bốn ví dụ khác nhau

Làm cách nào để sử dụng array_diff_assoc trong PHP?

Sự khác biệt giữa mảng_diff và mảng_diff_assoc là gì?

Hàm array_diff_assoc() dùng để so sánh một mảng với một mảng khác và trả về giá trị chênh lệch . Không giống như array_diff(), các khóa của mảng cũng được sử dụng để so sánh. Mảng đầu tiên sẽ được so sánh với các mảng khác. So với mảng đầu tiên.

Làm cách nào để so sánh hai mảng nhiều chiều trong PHP?

Để so sánh cấu trúc của mảng, bạn nên sử dụng toán tử định danh . (Các) điểm khác biệt duy nhất giữa câu trả lời này và câu trả lời của tôi là thay vì sử dụng == cho các phần tử trong mảng, nó sẽ sử dụng === và với === nó sẽ kiểm tra thứ tự của các cặp giá trị khóa.

Làm cách nào để kiểm tra xem các mảng có giống nhau trong PHP không?

Cách thích hợp để so sánh xem hai mảng có bằng nhau hay không là sử dụng đẳng thức nghiêm ngặt (===) , so sánh theo cách đệ quy.