Hàm array_diff_ukey()
trong PHP là một hàm so sánh các mảng dựa trên khóa của chúng bằng một hàm so sánh do người dùng xác định. Hàm này cho phép người dùng tự định nghĩa một quy tắc so sánh tùy chỉnh giữa các khóa trong các mảng. Hãy cùng Vietnix tham khảo thêm về hàm array_diff_ukey()
trong PHP qua bài viết sau đây.
Hàm array_diff_ukey() là gì?
Hàm array_diff_ukey()
là một hàm tích hợp sẵn trong PHP. Nó được sử dụng để so sánh key của hai hoặc nhiều mảng bằng cách sử dụng hàm do người dùng xác định và trả về một mảng, đó là mảng 1 và mảng đó không có bất kỳ mảng nào khác như mảng 2, mảng 3 hoặc hơn…

Cú pháp | array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction) |
Tham số | Hàm sẽ có tối thiểu 3 tham số và cả 3 đều là bắt buộc, các tham số khác là tùy chọn, mô tả các tham số như sau: – $array1(bắt buộc): Mảng sẽ được so sánh với các mảng khác.(Mảng đó sẽ được so sánh từ mảng 1). – $array2(bắt buộc): Mảng được so sánh với mảng đầu tiên. – $array3(Tùy chọn): Mảng được so sánh với mảng đầu tiên. – arr_diffukeyFunction(bắt buộc): Đây là hàm bắt buộc do người dùng xác định. Một chuỗi được xác định là hàm so sánh. Hàm so sánh trả về một số nguyên lớn hơn 0 nếu đối số thứ nhất lớn hơn đối số thứ hai. |
Giá trị trả về | Hàm array_diff_ukey() sẽ trả về một mảng chứa các mục từ mảng 1 không có trong các mảng khác, chẳng hạn như: (mảng2 , mảng 3, mảng 4,…). Nếu tất cả các giá trị có mặt trong các mảng khác, hàm trả về NULL. Kiểu giá trị trả về là một mảng (array). |
Bạn có thể xem ví dụ sau:
===== Input: $arr1 = array("one"=>"C Program", "two"=>"PHP Program", "three"=>"Java Program "); $arr2 = array("one"=>"Java Program", "two"=>"C++ Program", "six"=>"Java Program"); ===== Output: Array ( [three] => Java Program )
Trong ví dụ trên, hai giá trị đầu tiên của arr1 khớp với arr2 và giá trị cuối cùng không khớp nên hàm trả về giá trị cuối cùng.
Một ví dụ tham khảo khác:
===== Input: $arr1=array("one"=>"C Program", "two"=>"PHP Program", "three"=>"Java Program "); $arr2=array("one"=>"Java Program", "two"=>"C++ Program", "three"=>"Java Program"); ===== Output: Array ( )
Trong ví dụ trên, tất cả các giá trị được khớp với arr2 nên hàm trả về giá trị null.
Triển khai thành chương trình từ ví dụ
Ví dụ 1: Lấy hai mảng (mảng 1 và mảng 2) và sử dụng hàm so sánh key do người dùng xác định (diffukeyFunction).
<?php
// Program of array_diff_ukey function in PHP
function arr_diffukeyFunction($one, $two)
{
if ($one === $two) {
return 0;
}
return ($one > $two) ? 1 : -1;
}
// Driver Code
$arr1 = array(
"one" => "C Program",
"two" => "PHP Program",
"three" => "Java Program "
);
$arr2 = array(
"one" => "Java Program",
"two" => "C++ Program",
"six" => "Java Program"
);
$result = array_diff_ukey($arr1, $arr2, "arr_diffukeyFunction");
print_r($result);
?>
Output như sau:
Array ( [three] => Java Program )
Ví dụ 2: Lấy ba mảng (mảng1, mảng2 và mảng3) và sử dụng hàm so sánh key do người dùng xác định (diffukeyFunction).
<?php
// Program of array_diff_ukey function in PHP
function arr_diffukeyFunction($one, $two)
{
if ($one === $two) {
return 0;
}
return ($one > $two) ? 1 : -1;
}
// Driver Code
$arr1 = array(
"one" => "C Program",
"two" => "PHP Program",
"three" => "Java Program "
);
$arr2 = array(
"one" => "XML Program",
"two" => "C++ Program",
"four" => "CSS Program"
);
$arr3 = array(
"five" => "MVC Program",
"six" => "C# Program",
"one" => "ASP .NET Program"
);
$result = array_diff_ukey($arr1, $arr2, $arr3, "arr_diffukeyFunction");
print_r($result);
?>
Output như sau:
Array ( [three] => Java Program )
Ví dụ 3: Trả về giá trị Null nếu tất cả giá trị trùng với các mảng khác.
<?php
// Program of array_diff_ukey function in PHP
function arr_diffukeyFunction($one, $two)
{
if ($one === $two) {
return 0;
}
return ($one > $two) ? 1 : -1;
}
// Driver Code
$arr1 = array(
"one" => "C Program",
"two" => "PHP Program"
);
$arr2 = array(
"one" => "Java Program",
"two" => "C++ Program"
);
$result = array_diff_ukey($arr1, $arr2, "arr_diffukeyFunction");
print_r($result);
?>
Output như sau:
Array ( )
Ví dụ 4: Chỉ lấy 1 mảng (array1) và dùng hàm so sánh key do người dùng xác định (diffukeyFunction). Tuy nhiên không có output và hiển thị thông báo “RUNTIME ERROR”.
<?php
//Program of array_diff_ukey function in PHP
function arr_diffukeyFunction($one, $two)
{
if ($one === $two) {
return 0;
}
return ($one > $two) ? 1 : -1;
}
// Driver Code
$arr1 = array(
"one" => "C Program",
"two" => "PHP Program",
"three" => "Java Program "
);
//take only one array
$result = array_diff_ukey($arr1, "arr_diffukeyFunction");
print_r($result);
?>
Output như sau:
No Output
Ngoài ra, xuất hiện dòng cảnh báo:
PHP Warning: array_diff_ukey(): at least 3 parameters are required, 2 given in /home/c0177af9f69e897ad93cc9855a9ae415.php on line 23
Dịch vụ VPS Vietnix – Giải pháp tiện lợi và linh hoạt cho website và ứng dụng
Với hơn 12 năm kinh nghiệm, kích hoạt hơn 100.000 dịch vụ, Vietnix tự hào mang đến trải nghiệm thuê máy chủ VPS vượt trội với tốc độ tải trang nhanh chóng, giúp tối ưu hóa trải nghiệm người dùng và thúc đẩy doanh số. Dịch vụ cung cấp hệ thống sao lưu tự động hàng tuần miễn phí, lưu trữ ở server độc lập, dễ dàng khôi phục qua giao diện quản trị. Người dùng có toàn quyền tùy chỉnh, quản lý máy chủ, cài đặt hệ điều hành đa dạng (Windows Server, Windows, Ubuntu, Debian, AlmaLinux, CentOS) thông qua giao diện Portal tiện lợi.
VPS Giá Rẻ của Vietnix là giải pháp tối ưu cho các dự án cần sự linh hoạt và tiết kiệm chi phí. Dịch vụ cung cấp nhiều gói cấu hình, dễ dàng nâng cấp/hạ cấp, hỗ trợ nhiều phiên bản hệ điều hành và Control Panel. Dù là “giá rẻ”, dịch vụ vẫn đảm bảo hiệu năng cao với ổ cứng SSD Enterprise RAID 10, tăng tốc độ và bảo vệ dữ liệu. Tốc độ mạng 100 Mbps đảm bảo truyền tải dữ liệu nhanh chóng.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về hàm array_diff_ukey()
trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!
Mọi người cũng xem