PHP so sánh các khóa mảng

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

Hàm này so sánh các khóa và giá trị của hai (hoặc nhiều) mảng và trả về một mảng chứa các mục từ mảng1 nhưng không có trong mảng2 hoặc mảng3, v.v.

Hàm này khác với hàm array_diff() vì array_diff() chỉ sử dụng các giá trị để so sánh với các mảng khác trong khi hàm array_diff_assoc() sử dụng các khóa và giá trị trong khi so sánh với các mảng khác

cú pháp

array array_diff_assoc( array $array1, array $array2 [, array $array3...] );

Thông số

Sr. STT Thông số và Mô tả 1

mảng1 (Bắt buộc)

Nó là một mảng để so sánh từ

2

mảng2 (Bắt buộc)

Nó là một mảng được so sánh với mảng đầu tiên

3

mảng3 (Tùy chọn)

Nó là một mảng được so sánh với mảng đầu tiên

Giá trị trả về

Hàm array_diff_assoc() trả về một mảng chứa tất cả các giá trị từ mảng1 không có trong bất kỳ mảng nào khác có cùng khóa

Phiên bản PHP

Chức năng này lần đầu tiên được giới thiệu trong PHP Phiên bản 4. 3. 0

Ví dụ

Hãy thử ví dụ sau. Ở đây "a" => "orange" và "c"=>"banana" có trong cả hai mảng, vì vậy nó không có sẵn trong kết quả −

"orange", "b"=>"mango", "c"=>"banana");
   $input2 = array( "a"=>"orange", "b"=>"apple", "c"=>"banana");
   print_r(array_diff_assoc($input1, $input2));
?>

Điều này sẽ tạo ra kết quả sau -

Array
(
    [b] => mango
)

Ví dụ

Ở đây cả hai mảng đều có các khóa khác nhau và các giá trị tương ứng cho tất cả các cặp, ví dụ: "a"=>"orange" không có trong mảng thứ hai, tương tự các cặp giá trị khóa khác không có trong mảng thứ hai nên chúng sẽ có trong mảng thứ hai

"orange", "b"=>"mango", "c"=>"banana");
   $input2 = array( "a"=>"banana", "b"=>"apple", "c"=>"orange");
   print_r(array_diff_assoc($input1, $input2));
?>

Điều này sẽ tạo ra kết quả sau -

Array
(
    [a] => orange
    [b] => mango
    [c] => banana
)

Ví dụ

Ví dụ này làm rõ rằng hai giá trị từ cặp khóa => giá trị chỉ được coi là bằng nhau nếu (chuỗi) $elem1 === (chuỗi) $elem2. -

Hàm array_intersect_key() tạo một mảng chứa các khóa và giá trị của mảng đầu tiên có các khóa

PHP array_intersect_key

Parray_intersect_key() là một hàm tích hợp sẵn giúp so sánh các khóa của hai (hoặc nhiều) mảng và trả về kết quả khớp. Hàm so sánh các khóa của hai hoặc nhiều mảng và trả về mảng chứa các mục từ mảng 1 có trong mảng 2, mảng 3, v.v.

Array_intersect_key() trong PHP được sử dụng để tính giao điểm của hai hoặc nhiều mảng. Hàm này khác với array_intersect() và array_intersect_assoc() ở chỗ nó sử dụng các khóa để so sánh và trả về các phần tử khóa phù hợp.  

The array_intersect_key()  trả về một mảng chứa tất cả các mục của mảng 1, có các khóa trong tất cả các đối số.

cú pháp

Xem cú pháp sau

________số 8

Thông số

Tham số array1 là bắt buộc và mảng đầu tiên là mảng mà các mảng khác sẽ được so sánh với

Tham số array2 là bắt buộc và một mảng sẽ được so sánh với mảng đầu tiên

Mảng 3 là tùy chọn và mảng này sẽ được so sánh với mảng đầu tiên

So sánh các khóa của hai mảng được lập chỉ mục

xem mã

<?php

$a1 = array("eleven", "dustin", "will", "nancy");
$a2 = array("mike", "lucas", "steve");

$result = array_intersect_key($a1, $a2);
print_r($result);

Xem đầu ra

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

?>
0

Chúng tôi nhận được ba mục vì mảng $a1 và $a2 có cùng chỉ số 0, 1, 2. Vì vậy, nó sẽ trả về ba mục đầu tiên vì ba chỉ mục của $a1 khớp với $a2

So sánh các khóa của ba mảng

Xem đoạn mã sau

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

?>
1

Xem đầu ra sau

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

?>
0

So sánh các khóa Mảng liên kết

Xem đoạn mã sau

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

?>
3

Xem đầu ra

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

?>
4

Trong đoạn mã trên, mười một là khóa duy nhất trong cả ba mảng, cho kết quả là mười một

Nếu không có khóa mười một trong một mảng, thì một mảng trống sẽ được trả về

Đó là nó cho hướng dẫn này

Bài viết đề xuất

PHP array_fill_keys

Mảng PHP_udiff

PHP mảng_reduce

PHP array_flip

PHP array_walk

Facebook

Twitter

Pinterest

WhatsApp

Bài viết trước Parray_intersect. Hướng dẫn đầy đủ

Bài viết tiếp theo Parray_fill_keys của PHP. Hướng dẫn đầy đủ

kranal

https. //appdividend. com/

Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến ​​thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end

Làm cách nào để khớp khóa mảng trong PHP?

Hàm array_intersect_key() so sánh khóa của hai (hoặc nhiều) mảng và trả về giá trị khớp. Hàm này so sánh các khóa của hai hoặc nhiều mảng và trả về một mảng chứa các mục từ mảng1 có trong mảng2, mảng3, v.v.

Làm cách nào để kiểm tra xem khóa mảng có tồn tại trong PHP không?

Hàm PHP array_key_exists() .

Làm cách nào để so sánh các phần tử mảng với chuỗi trong PHP?

Nếu bạn muốn kiểm tra xem một phần cụ thể của Chuỗi có nằm trong mảng hay không, bạn sẽ cần phải sử dụng substr() để tách phần đó của chuỗi rồi sử dụng in_array( . .

Một mảng PHP có thể có các khóa trùng lặp không?

Kiểm tra mã. Nhân đôi khóa mảng . Nếu nhiều phần tử trong khai báo mảng sử dụng cùng một khóa thì chỉ phần tử cuối cùng sẽ được sử dụng và tất cả các phần tử khác sẽ bị ghi đè. Reports duplicate keys in array declarations. If multiple elements in the array declaration use the same key, only the last one will be used, and all others will be overwritten.