Có gì mới?

Chào mừng bạn đến với diễn đàn Tui Học Web

Vui lòng đăng ký hoặc đăng nhập để sử dụng hết các tính năng của forum nhé!
  • Thông báo: Hiện tại do admin không có nhiều thời gian và không thể tiếp tục quản trị và maintain forum, do đó forum sẽ có dự định được đóng lại từ 06/2022, cảm ơn mọi người đã đồng hành cùng forum suốt thời gian vừa qua. Cảm ơn rất nhiều.

Kiến thức Hàm array_diff_uassoc() trong PHP

Kiến thức
Tình trạng
Không mở trả lời sau này.

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
Để rõ hơn thì bạn nên xem qua hàm
Ồ, 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
 
Tình trạng
Không mở trả lời sau này.

Bài viết và chủ đề liên quan

shape1
shape2
shape3
shape4
shape7
shape8
Bên trên