Hàm array_diff_assoc

Hàm array_diff_assoc so sánh các mảng và trả về các phần tử của mảng đầu tiên không có trong các mảng tiếp theo, đồng thời tính đến cả khóa lẫn giá trị. Phép so sánh được sử dụng là so sánh nghiêm ngặt (===).

Cú pháp

phparray_diff_assoc(array $array1, array $array2, array ...$arrays): array

Ví dụ

So sánh hai mảng có khóa và giá trị khác nhau:

php<?php
  $arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $arr2 = ['a' => 1, 'b' => 5, 'd' => 4];
  
  $res = array_diff_assoc($arr1, $arr2);
  print_r($res);
?>

Kết quả thực thi mã:

php['b' => 2, 'c' => 3]

Ví dụ

So sánh ba mảng có khóa số:

php<?php
  $arr1 = [1, 2, 3, 4];
  $arr2 = [1, 3, 3, 4];
  $arr3 = [1, 2, 3, 5];
  
  $res = array_diff_assoc($arr1, $arr2, $arr3);
  print_r($res);
?>

Kết quả thực thi mã:

php[1 => 2]

Ví dụ

So sánh với các kiểu dữ liệu khác nhau:

php<?php
  $arr1 = ['a' => '1', 'b' => 2];
  $arr2 = ['a' => 1, 'b' => '2'];
  
  $res = array_diff_assoc($arr1, $arr2);
  print_r($res);
?>

Kết quả thực thi mã:

php['a' => '1', 'b' => 2]

Xem thêm

  • hàm array_diff,
    so sánh các mảng theo giá trị mà không tính đến khóa
  • hàm array_intersect_assoc,
    tìm phần giao nhau của các mảng có tính đến khóa