Hàm array_diff_uassoc 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, tương tự như hàm array_diff_assoc nhưng có thêm callback.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_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func ) : array
Hàm array_diff_assoc có giá trị truyền vào lần lượt là các mảng tương ứng.
Tham số $array1 sẽ được so sánh với các tham số còn lại.
Tham số $key_compare_func, đây là một hàm callback và sẽ trả về một số nguyên nhỏ hơn, bằng, hoặc lớn hơn 0 nếu tham số đầu tiên được xem như tương ứng là nhỏ hơn, bằng hoặc lớn hơn tham số thứ hai.
Hàm này sẽ trả về một mảng mà KEY của mảng chỉ tồn tại ở $array1 và không tồn tại ở các array còn lại.
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1:-1; } $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "green", "yellow", "red"); $result = array_diff_uassoc($array1, $array2, "key_compare_func"); print_r($result); ?>
Trong ví dụ này có thể thấy KEY B và KEY C không tồn tại ở các mảng còn lại.Còn trường hợp RED ở mảng số 1 có KEY là 0 còn ở mảng số 2 KEY là 1 nên vẫn được cho là trường hợp khác biệt
Và kết quả tương ứng sẽ là
Array ( [b] => brown [c] => blue [0] => red )
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_uassoc 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é.