Hàm array_diff_assoc trong PHP có nhiệm vụ lấy ra những phần tử có KEY và VALUE mà chỉ xuất ở mảng đầu tiên mà không có ở các mảng sau.Hàm này tương thích với PHP 5, PHP 7.
Cú pháp hàm array_diff_assoc trong PHP
array_diff_assoc ( array $array1 , array $array2 [, array $... ] ) : array
Hàm array_diff_assoc có giá trị truyền vào là n mảng, tức là bạn có thể truyền vào bao nhiêu mảng tùy thích, và giá trị trả về sẽ là một mảng chưa các phần tử mà chỉ tồn tại ở mảng đầu tiên và không tồn tại ở các mảng sau.
<?php Trong ví dụ này bạn có thể thấy trong mảng $array1, có phần tử số 2,3,4 không tồn tại ở mảng $array2. $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "green", "yellow", "red"); $result = array_diff_assoc($array1, $array2); print_r($result); ?>
Và kết quả trả về sẽ là
Array ( [b] => brown [c] => blue [0] => red )
Ví dụ số 2 khi có cùng giá trị KEY và VALUE
<?php $array1 = array(0, 1, 2); $array2 = array("00", "01", "2"); $result = array_diff_assoc($array1, $array2); print_r($result); ?>
Trong ví dụ này, cả hai mảng đều có 3 phần tử, tương ứng key sẽ là 0,1,2. Như vậy có thể thấy 2 trong $array1 == “2” trong $array2, và kết quả là:
Array ( [0] => 0 [1] => 1 )
Lưu ý: Hàm này chỉ kiểm tra một chiều của mảng n chiều. Nên khi kiểm tra với mảng n chiều bạn có thể dùng cách sau:
Array_diff_assoc ($ Array1 [0], $ Array2 [0]); .
Lưu ý: Đảm bảo các đúng thứ tự các tham số truyền vào. Khi so sánh với các mảng có nhiều KEY hơn.Mảng cần so sánh phải là mảng đầu tiên.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm array_diff_assoc trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.