PHP array_intersect_assoc()

Hàm array_intersect_assoc() trong PHP

Hàm array_intersect_assoc() trong PHP được sử dụng để so sánh các mảng và trả về một mảng chứa các phần tử có khóa và giá trị giống nhau từ tất cả các mảng đầu vào.

Cú pháp

array_intersect_assoc(array $array1, array ...$arrays): array

Tham số

  • $array1: Mảng đầu tiên mà bạn muốn so sánh.
  • $arrays: Một hoặc nhiều mảng bổ sung để so sánh với mảng đầu tiên.

Giá trị trả về

Hàm trả về một mảng chứa các phần tử có khóa và giá trị giống nhau từ các mảng đầu vào. Nếu không có phần tử nào đáp ứng điều kiện, hàm sẽ trả về một mảng rỗng.

Ví dụ

$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "blueberry", "d" => "date");
$array3 = array("a" => "apple", "b" => "banana", "e" => "elderberry");

$result = array_intersect_assoc($array1, $array2, $array3);

print_r($result);

Kết quả của đoạn mã trên sẽ là:

Array
(
    [a] => apple
)

Giải thích

Trong ví dụ trên, array_intersect_assoc() so sánh ba mảng và chỉ trả về phần tử có khóa và giá trị giống nhau trong tất cả các mảng. Trong trường hợp này, chỉ có phần tử "a" với giá trị "apple" là giống nhau ở cả ba mảng.

Ứng dụng

Hàm này rất hữu ích khi bạn cần tìm ra các phần tử chung giữa nhiều mảng với điều kiện không chỉ về giá trị mà còn về khóa. Điều này thường xảy ra khi làm việc với dữ liệu phức tạp hoặc khi xử lý các cấu trúc dữ liệu phức tạp hơn trong PHP.

Chú ý

  • Hàm này phân biệt giữa các khóa và chỉ giữ lại các phần tử có giá trị giống nhau.
  • Hàm sẽ không sắp xếp lại các phần tử theo thứ tự mới; các phần tử trong mảng trả về sẽ giữ nguyên thứ tự từ mảng đầu tiên.