Hướng dẫn
Quảng cáo

Hàm array_udiff() trong PHP

Hướng dẫn cách sử dụng hàm array_udiff() về mảng trong lập trình PHP

Tác dụng của hàm array_udiff()

Hàm array_udiff()so sánh các giá trị của hai hoặc nhiều mảng và trả về sự khác biệt bằng cách sử dụng hàm so sánh giá trị do người dùng xác định.

Điều này không giống như sử dụng hàm nội bộ array_diff() để so sánh các giá trị.

Bảng sau đây tóm tắt các chi tiết kỹ thuật của chức năng này.

Giá trị trả về: Trả về một mảng chứa tất cả các phần tử từ array1 không có trong bất kỳ mảng nào khác.
Phiên bản: PHP5+

cú pháp

Cú pháp cơ bản của hàm array_udiff() được đưa ra với:

array_udiff(array1, array2, ..., value_compare_function);

Ví dụ sau đây cho thấy hàm array_udiff() đ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("apple", "ball", "cat", "dog", "elephant");
$array2 = array("alligator", "DOG", "elephant", "lion", "Cat");

// Computing the difference
$result = array_udiff($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_udiff()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_udiff() thực sự hoạt động như thế nào:

Ví dụ sau đây cho thấy cách so sánh giá trị của ba mảng và nhận sự khác biệt 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("apple", "ball", "cat", "dog");
$array2 = array("Cat", "Lion", "Tiger");
$array3 = array("APPLE", "BANANA");

// Computing the difference
$result = array_udiff($array1, $array2, $array3, "strcasecmp");
print_r($result);
?>

Bạn cũng có thể sử dụng các mảng kết hợp, tuy nhiên các khóa không được xem xét khi so sánh.

Ví dụ

<?php
// Sample arrays
$array1 = array("a"=>"red", "b"=>"green", "c"=>"blue", "d"=>"yellow");
$array2 = array("x"=>"black", "y"=>"BLUE", "z"=>"Red");

// Computing the difference
$result = array_udiff($array1, $array2, "strcasecmp");
print_r($result);
?>

Bài viết này đã giúp ích cho bạn?

Bài viết mới

Advertisements