PHP array_uintersect_assoc()
Hàm PHP array_uintersect_assoc()
Hàm array_uintersect_assoc()
là một trong những hàm xử lý mảng trong PHP. Nó được sử dụng để tìm giao của các mảng dựa trên các giá trị và khóa của chúng, với khả năng cung cấp một hàm so sánh tùy chỉnh để xác định cách so sánh các giá trị của mảng.
Cú pháp
array_uintersect_assoc(array $array1, array $array2, callable $value_compare_func): array
Tham số
- array1: Mảng đầu tiên để so sánh.
- array2: Mảng thứ hai để so sánh.
- value_compare_func: Hàm gọi lại (callback) để so sánh các giá trị của mảng. Hàm này nhận hai tham số và phải trả về một số nguyên, có thể là âm, dương hoặc 0. Nếu giá trị đầu tiên nhỏ hơn giá trị thứ hai, trả về số âm; nếu lớn hơn, trả về số dương; nếu bằng nhau, trả về 0.
Giá trị trả về
Hàm array_uintersect_assoc()
sẽ trả về một mảng chứa các phần tử có trong cả hai mảng đầu vào, cũng như giữ lại các khóa của mảng.
Ví dụ sử dụng
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "blueberry", "d" => "date");
$result = array_uintersect_assoc($array1, $array2, function($a, $b) {
return strcmp($a, $b);
});
print_r($result);
Kết quả sẽ là:
Array
(
[a] => apple
)
Giải thích ví dụ
Trong ví dụ trên, chúng ta có hai mảng: $array1
và $array2
. Khi gọi hàm array_uintersect_assoc()
, chúng ta cung cấp một hàm so sánh sử dụng strcmp()
. Kết quả trả về là một mảng chứa các phần tử mà cả hai mảng đều có, trong trường hợp này là phần tử với khóa 'a' và giá trị 'apple'.
Lưu ý
- Hàm so sánh phải được định nghĩa đúng để đảm bảo kết quả chính xác.
- Hàm
array_uintersect_assoc()
chỉ kiểm tra trên hai mảng. Nếu bạn cần kiểm tra nhiều hơn hai mảng, bạn sẽ cần gọi hàm nhiều lần.
Hy vọng rằng những thông tin trên sẽ giúp bạn hiểu rõ hơn về hàm array_uintersect_assoc()
trong PHP!