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

Hàm array_intersect_ukey() trong PHP

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

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

Hàm array_intersect_ukey()so sánh các khóa của hai hoặc nhiều mảng và trả về các kết quả trùng khớp hoặc giao điểm bằng cách sử dụng hàm so sánh khóa do người dùng xác định.

Ngoài ra, các giá trị cho các khóa không được xem xét khi so sánh, chỉ các khóa được kiểm tra.

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

Giá trị trả về: Trả về một mảng chứa tất cả các phần tử từ array1 mà các khóa của nó có mặt trong tất cả các mảng khác.
Phiên bản: PHP 5.1.0 trở lên

cú pháp

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

array_intersect_ukey ( array1 , array2 , ... , key_compare_function );

Ví dụ sau đây cho thấy hàm array_intersect_ukey() đang hoạt động.

Ví dụ

<?php
// Define key comparison function
function compare($a, $b){
    // Converting key to lowercase
    $a = strtolower($a);
    $b = strtolower($b);

    if($a == $b){
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// Sample arrays
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat");
$array2 = array("A"=>"airplane", "x"=>"xylophone", "y"=>"yacht");

// Computing the intersection
$result = array_intersect_ukey($array1, $array2, "compare");
print_r($result);
?>
 

Lưu ý: Hàm so sánh khóa phải trả về một số nguyên bằng 0 nếu cả hai khóa bằng nhau, một số nguyên nhỏ hơn 0 nếu khóa đầu tiên nhỏ hơn khóa thứ hai và một số nguyên lớn hơn 0 nếu khóa đầu tiên lớn hơn khóa thứ hai chìa khóa.

Ngoài ra, bạn có thể chỉ cần sử dụng hàm dựng sẵn PHP strcasecmp()để thực hiện so sánh chuỗi không phân biệt chữ hoa chữ thường và trả về < 0nếu str1 nhỏ hơn str2; > 0nếu str1 lớn hơn str2 và 0nếu chúng bằng nhau. Do đó, ví dụ trên có thể được viết lại như sau:

Ví dụ

<?php
// Sample arrays
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat");
$array2 = array("A"=>"airplane", "x"=>"xylophone", "y"=>"yacht");

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

Thông số

Hàm array_intersect_ukey()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 các khóa.
... Không bắt buộc. Chỉ định nhiều mảng hơn để so sánh các khóa.
key_compare_function Yêu cầu. Chỉ định chức năng gọi lại để sử dụng để so sánh khóa.

Thêm ví dụ

Dưới đây là một số ví dụ khác cho thấy hàm array_intersect_ukey()thực sự hoạt động như thế nào:

Ví dụ sau minh họa cách so sánh các khóa của ba mảng và nhận giao điểm hoặc khớp bằng cách sử dụng hàm so sánh khóa do người dùng cung cấp.

Ví dụ

<?php
// Sample arrays
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "dog");
$array2 = array("A"=>"apricot", "b"=>"banana");
$array3 = array("a"=>"alligator", "b"=>"balloon");

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

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

Bài viết mới

Advertisements