Rate this post

array_diff() trong PHP là một hàm dùng để so sánh hai hoặc nhiều mảng và trả về các giá trị không tồn tại trong các mảng còn lại. Nó sẽ tìm các phần tử khác nhau giữa các mảng và trả về một mảng mới chứa các phần tử không tồn tại trong các mảng còn lại.

Các bài viết liên quan:

Cú pháp:

array_diff(array $array1, array $array2 [, array $array3, …]);

Ví dụ:

$array1 = array("a" => "red", "b" => "green", "c" => "blue", "d" => "yellow");

$array2 = array("e" => "red", "f" => "green", "g" => "blue");

$result = array_diff($array1, $array2);

print_r($result);

Kết quả:

Array

(

    [d] => yellow

)

Trong ví dụ trên, hàm array_diff() so sánh $array1 và $array2 và trả về một mảng mới chứa phần tử “d” => “yellow” vì nó chỉ tồn tại trong $array1.

Tại sao nên sử dụng array_diff trong php ? 

Sử dụng hàm array_diff() trong PHP có nhiều lý do như sau:

  1. So sánh hai hoặc nhiều mảng: Hàm array_diff() cho phép bạn so sánh hai hoặc nhiều mảng và lấy các phần tử không tồn tại trong các mảng còn lại.
  2. Tối ưu hóa mã nguồn: Hàm array_diff() giúp bạn tối ưu hóa mã nguồn bằng cách tránh việc sử dụng vòng lặp và các biểu thức so sánh khác để tìm các phần tử khác nhau giữa các mảng.
  3. Xử lý dữ liệu: Hàm array_diff() có thể được sử dụng để xử lý dữ liệu và lọc các phần tử không cần thiết trong mảng.
  4. Tăng tính linh hoạt: Hàm array_diff() cung cấp một cách linh hoạt để so sánh mảng và tìm ra các phần tử không tồn tại trong các mảng còn lại, điều này giúp cho việc xử lý dữ liệu trở nên dễ dàng hơn.
  5. Tăng tính bảo mật: Sử dụng hàm array_diff() trong PHP giúp bảo vệ dữ liệu đảm bảo rằng chỉ có những phần tử được chọn mới được xử lý tiếp, giúp tăng tính bảo mật cho dữ liệu của bạn.
  1. Tăng tính dễ sử dụng: Hàm array_diff() rất dễ sử dụng và dễ hiểu, điều này giúp cho lập trình viên có thể sử dụng nó một cách dễ dàng và nhanh chóng.
  2. Tăng tính hiệu quả: Hàm array_diff() rất hiệu quả trong việc so sánh và lọc dữ liệu, điều này giúp cho quá trình xử lý dữ liệu trở nên nhanh chóng và tiết kiệm thời gian.

Với những lý do trên, sử dụng hàm array_diff() trong PHP có thể giúp bạn tối ưu hóa mã nguồn, xử lý dữ liệu hiệu quả và tăng tính bảo mật cho dữ liệu của bạn.

Xem thêm isset() trong PHP là gì ?

Sử dụng array_diff trong php như thế nào ? 

Sử dụng hàm array_diff() trong PHP rất đơn giản, bạn chỉ cần truyền vào tối đa 2 mảng và hàm sẽ trả về một mảng mới chứa các phần tử không tồn tại trong các mảng còn lại.

Cú pháp:

array_diff(array $array1, array $array2 [, array $array3, …]);

Ví dụ:

$array1 = array("a" => "red", "b" => "green", "c" => "blue", "d" => "yellow");

$array2 = array("e" => "red", "f" => "green", "g" => "blue");

$result = array_diff($array1, $array2);

print_r($result);

Kết quả:

Array

(

    [d] => yellow

)

Trong ví dụ trên, hàm array_diff() so sánh $array1 và $array2 và trả về một mảng mới chứa phần tử “d” => “yellow” vì nó chỉ tồn tại trong $array1.

Những lưu ý khi sử dụng array_diff trong php 

  1. Chỉ chấp nhận mảng: Hàm array_diff() chỉ chấp nhận mảng làm tham số, nếu truyền vào các kiểu dữ liệu khác sẽ trả về giá trị false.
  2. So sánh theo giá trị: Hàm array_diff() sẽ so sánh giá trị của phần tử trong mảng, nếu có 2 phần tử có cùng giá trị nhưng khác key thì nó vẫn sẽ coi đó là phần tử khác nhau.
  3. Trả về mảng mới: Hàm array_diff() sẽ trả về một mảng mới chứa các phần tử không tồn tại trong các mảng còn lại, nếu muốn lấy phần tử không tồn tại trong mảng gốc thì bạn cần gán lại giá trị cho mảng gốc.
  4. Sắp xếp giá trị: Hàm array_diff() sẽ trả về mảng mới theo thứ tự của mảng gốc, nếu muốn sắp xếp lại thì cần sử dụng hàm sắp xếp khác.
  5. Chỉ chấp nhận giá trị scalar: Hàm array_diff() chỉ chấp nhận giá trị scalar như int, string, float … nếu truyền vào mảng hoặc object sẽ trả về mảng rỗng.

Ví dụ 

Ví dụ 1:

$array1 = array("a", "b", "c", "d", "e");

$array2 = array("c", "d", "e", "f", "g");

$result = array_diff($array1, $array2);

print_r($result);

Kết quả: Array ( [0] => a [1] => b )

Ví dụ 2:

$array1 = array("a" => "apple", "b" => "banana", "c" => "orange");

$array2 = array("a" => "apple", "b" => "banana");

$result = array_diff($array1, $array2);

print_r($result);

Kết quả: Array ( [c] => orange )

Ví dụ 3:

$array1 = array("a" => "apple", "b" => "banana", "c" => "orange");

$array2 = array("a" => "apple", "b" => "banana", "d" => "mango");

$result = array_diff($array1, $array2);

print_r($result);

Kết quả: Array ( [c] => orange )

Trong các ví dụ trên, hàm array_diff() sẽ trả về mảng chứa các phần tử không tồn tại trong mảng thứ 2.

kết luận 

hàm array_diff() trong PHP là một hàm rất hữu ích để so sánh hai mảng và trả về mảng chứa các phần tử không tồn tại trong mảng thứ 2. Hàm này rất dễ sử dụng và có thể áp dụng cho nhiều tình huống khác nhau. Tuy nhiên, khi sử dụng hàm này, chúng ta cần chú ý đến một số lưu ý như chỉ chấp nhận mảng, so sánh theo giá trị, trả về mảng mới và sắp xếp giá trị.

Xem thêm array_key_exists trong PHP là gì ?

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now