Hàm array_uintersect_assoc() trong PHP
Ví dụ
So sánh tên và giá trị của các khóa trong hai mảng (sử dụng hàm trong xây dựng để so sánh tên khóa, và sử dụng hàm tùy chỉnh của người dùng để so sánh giá trị khóa), và trả về giao:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"blue","c"=>"green"); $result=array_uintersect_assoc($a1,$a2,"myfunction"); print_r($result); ?>
Định nghĩa và cách sử dụng
Hàm array_uintersect_assoc() được sử dụng để so sánh tên và giá trị của các khóa trong hai (hoặc nhiều) mảng và trả về giao (phù hợp).
Ghi chú:Hàm này sử dụng hàm trong xây dựng để so sánh tên khóa, và sử dụng hàm tùy chỉnh của người dùng để so sánh giá trị khóa!
Hàm này so sánh tên và giá trị của các khóa trong hai (hoặc nhiều) mảng và trả về một mảng giao, bao gồm tất cả các phần tử được so sánh trong các mảng được so sánh (array1) trong bất kỳ tham số mảng nào khác (}}array2 hoặc array3 và vân vân) trong tên khóa và giá trị khóa.
Lưu ý, với array_uintersect() Khác biệt là tên khóa cũng được so sánh. Dữ liệu (giá trị khóa) được so sánh bằng hàm hồi quy.
Cú pháp
array_uintersect_assoc(array1,array2,array3...myfunction)
Tham số | Mô tả |
---|---|
array1 | Bắt buộc. Mảng đầu tiên được so sánh với các mảng khác. |
array2 | Bắt buộc. Mảng được so sánh với mảng đầu tiên. |
array3,... | Tùy chọn. Các mảng khác được so sánh với mảng đầu tiên. |
myfunction |
Bắt buộc. Giá trị chuỗi, định nghĩa hàm so sánh có thể gọi. Nếu tham số đầu tiên nhỏ hơn hoặc lớn hơn bằng tham số thứ hai, hàm so sánh phải trả về một số nguyên nhỏ hơn hoặc lớn hơn bằng 0. |
Giải thích
Sử dụng hàm hồi quy tùy chỉnh function để tính giao của hai hoặc nhiều mảng (tức là array1 tất cả các phần tử trong mảng tồn tại trong mảng đó, và cũng tồn tại trong bất kỳ mảng nào khác), và trả về mảng kết quả.
So sánh cả tên khóa và giá trị khóa, ví dụ như các phần tử "a"=>1 và "b"=>1 là không bằng nhau.
function Hàm được chỉ định bởi tham số để so sánh liệu phần tử có bằng nhau hay không.function Hàm có hai tham số sẽ được so sánh. Nếu tham số đầu tiên nhỏ hơn tham số thứ hai, hàm trả về một giá trị âm, nếu hai tham số bằng nhau, thì trả về 0, nếu tham số đầu tiên lớn hơn tham số thứ hai, thì trả về một giá trị dương.
Giữ nguyên tên khóa trong mảng trả về.
Chi tiết kỹ thuật
Giá trị trả về: | Trả về một mảng chứa tất cả các phần tử array1 Cả trong tất cả các mảng khác. |
Phiên bản PHP: | 5+ |