Hàm array_diff_uassoc() trong PHP
Hàm array_diff_uassoc() sẽ trả về một mảng các phần tử theo điều kiện của hàm $key_compare_func truyền vào, điều này khác vớiỒ, bạn chưa phải thành viên của forum Đăng nhập hoặc đăng ký ngay.là hàm để so sánh theo toán tử bằng.
Cú pháp:
array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )
Trong đó:
$array1
là mảng thứ nhất, kết quả trả về sẽ nằm trong mảng này$array2
là mảng thứ hai- ...
-
$key_compare_func
là hàm do người dùng định nghĩa, nếu kết quả nó trả về true thì phần tử lượt check đó được chọn, ngược lại sẽ không được chọn và hàm này so sánh các $key thay vì value :- Hàm này phải trả về 0 nếu $key1 = $key2, lớn hơn 0 nếu $key1 > $key2 và bé hơn 0 nếu $key1 < $key2
- Sự so sánh dựa vào thứ tự trong mã ASCII
Ồ, bạn chưa phải thành viên của forum
Đăng nhập hoặc đăng ký ngay.
và sau đó xem các ví dụ dưới đây.Trả về
Hàm sẽ trả về một mảng (mảng con của $array1) gồm các phần tử được quyết định bởi $key_compare_func.
Ví dụ:
Trong ví dụ này hàm
key_compare_func
sẽ có hai tham số truyền vào là $a và $b chính là các key lần lượt là key của mảng thứ nhất trong danh sách tham số truyền vào và các key của mảng còn lại. Nếu hàm trả về khác 0 (lớn hơn 0 hoặc bé hơn 0) thì phần tử của lượt đó được chọn.
PHP:
function key_compare_func($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}
$array1 = array(
"a" => "tuihocweb",
"b" => "www",
"c" => "[URL]https://tuihocweb.com[/URL]"
);
$array2 = array(
"a" => "tuihocweb",
"b" => "www",
"c" => "http://tuihocweb"
);
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
echo '<pre>';
print_r($result);
Kết quả:
Mã:
Array
(
[c] => https://tuihocweb.com
)
Như vậy chỉ có key c là được chọn lý do là nó không tồn tại bên $array2