PHP
PHP

Trang chủ

Tìm hiểu về hàm array_diff_ukey() trong PHP

PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình script phía máy chủ được thiết kế đặc biệt cho phát triển web. Điểm nổi bật của PHP so với các ngôn ngữ khác là khả năng tương thích với nhiều loại cơ sở dữ liệu và chạy mượt mà trên các máy chủ web. Tại Vietnix, chúng tôi không chỉ giới thiệu những khái niệm cơ bản về PHP mà còn cung cấp các ví dụ thực tế giúp bạn dễ dàng hiểu và áp dụng PHP vào việc phát triển website. Bên cạnh đó, Vietnix cũng thường xuyên cập nhật các bài viết mới về tính năng, mẹo và thủ thuật lập trình, giúp bạn giải quyết các thách thức phức tạp, từ đó không ngừng nâng cao và hoàn thiện kỹ năng lập trình của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
21/06/2024
5 phút đọc
Theo dõi Vietnix trên

Tìm hiểu về hàm array_diff_ukey() trong PHP

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…

Hàm array_diff_ukey() trong PHP
Hàm array_diff_ukey() trong PHP
Cú pháparray_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.

Mọi người cũng xem:

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

Lời kết

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!

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn