Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm array_intersect_uassoc() trong PHP


Hàm array_intersect_uassoc() tính giao nhau của các mảng dựa trên cả khóa và giá trị, sử dụng hàm so sánh do người dùng định nghĩa cho cả khóa và giá trị. Trả về mảng chứa các phần tử của mảng đầu tiên có cả khóa và giá trị khớp trong tất cả mảng còn lại.

Cú pháp

array_intersect_uassoc(array1, array2, array3, ..., compare_func)

Tham số

  • array1 – Mảng cơ sở. Bắt buộc.

  • array2 – Mảng so sánh. Bắt buộc.

  • array3, array4, ... – Các mảng khác. Tùy chọn.

  • compare_func – Hàm callback so sánh (dùng cho cả khóa và giá trị). Trả về <0, =0, >0.

Giá trị trả về

Trả về mảng chứa các entry của array1 có cả khóa và giá trị xuất hiện trong tất cả mảng khác.

Ví dụ

<?php
function compare_func($a, $b) {
    if ($a === $b) return 0;
    return ($a > $b) ? 1 : -1;
}
$arr1 = array("a" => "laptop", "b" => "keyboard", "c" => "mouse");
$arr2 = array("d" => "laptop", "b" => "keyboard", "c" => "mouse");
$res = array_intersect_uassoc($arr1, $arr2, "compare_func");
print_r($res);
?>

Kết quả

Array ( [b] => keyboard [c] => mouse )