Tác dụng của hàm array_uintersect_assoc()
Hàm array_uintersect_assoc()
so sánh các giá trị của hai hoặc nhiều mảng và trả về kết quả khớp với kiểm tra khóa bổ sung bằng cách sử dụng hàm so sánh giá trị do người dùng xác định.
Bảng sau đây tóm tắt các chi tiết kỹ thuật của hàm này.
Giá trị trả về: | Trả về một mảng chứa tất cả các phần tử từ array1 có giá trị xuất hiện trong tất cả các mảng khác. |
---|---|
Phiên bản: | PHP5+ |
cú pháp
Cú pháp cơ bản của hàm array_uintersect_assoc()
được đưa ra với:
Ví dụ sau đây cho thấy hàmarray_uintersect_assoc()
đang hoạt động.
Ví dụ
<?php
// Define value comparison function
function compare($a, $b){
// Converting value to lowercase
$a = strtolower($a);
$b = strtolower($b);
if($a == $b){
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Sample arrays
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "d"=>"dog");
$array2 = array("a"=>"Apple", "B"=>"ball", "c"=>"camel", "d"=>"DOG");
// Computing the intersection
$result = array_uintersect_assoc($array1, $array2, "compare");
print_r($result);
?>
Lưu ý: Hàm so sánh giá trị phải trả về một số nguyên bằng 0 nếu cả hai giá trị bằng nhau, một số nguyên nhỏ hơn 0 nếu giá trị đầu tiên nhỏ hơn giá trị thứ hai và một số nguyên lớn hơn 0 nếu giá trị đầu tiên lớn hơn giá trị thứ hai giá trị.
Thông số
Hàm array_uintersect_assoc()
chấp nhận các tham số sau.
Tham số | Sự miêu tả |
---|---|
array1 | Yêu cầu. Chỉ định mảng để so sánh từ đó. |
array2 | Yêu cầu. Chỉ định một mảng để so sánh. |
... | Không bắt buộc. Chỉ định nhiều mảng hơn để so sánh. |
value_compare_function | Yêu cầu. Chỉ định chức năng gọi lại để sử dụng để so sánh giá trị. |
Thêm ví dụ
Dưới đây là một số ví dụ khác cho thấy hàm array_uintersect_assoc()
thực sự hoạt động như thế nào:
Ví dụ sau đây cho thấy cách so sánh các giá trị của ba mảng và nhận kết quả khớp bằng cách sử dụng Hàm strcasecmp() trong PHP làm hàm so sánh giá trị.
Ví dụ
<?php
// Sample arrays
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "d"=>"dog");
$array2 = array("A"=>"APPLE", "b"=>"BALL", "c"=>"CAMEL", "d"=>"DOG");
$array3 = array("a"=>"Apple", "b"=>"Ball", "c"=>"Cat", "d"=>"Dog");
// Computing the intersection
$result = array_uintersect_assoc($array1, $array2, $array3, "strcasecmp");
print_r($result);
?>