Hàm array_diff_key

Hàm array_diff_key so sánh các khóa của hai hoặc nhiều mảng và trả về một mảng chứa các phần tử của mảng đầu tiên có khóa không tồn tại trong các mảng còn lại. Việc so sánh chỉ diễn ra dựa trên khóa, giá trị của phần tử không được xem xét.

Cú pháp

phparray_diff_key(array $array1, array $array2 [, array $...]): array

Ví dụ

So sánh hai mảng theo khóa:

php<?php
  $arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $arr2 = ['a' => 4, 'd' => 5];
  
  $res = array_diff_key($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 theo khóa:

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

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

php[3 => 'c']

Ví dụ

Sử dụng khóa số và chuỗi:

php<?php
  $arr1 = ['color' => 'red', 1 => 'a', 2 => 'b'];
  $arr2 = [1 => 'c', 'size' => 'XL'];
  
  $res = array_diff_key($arr1, $arr2);
  print_r($res);
?>

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

php['color' => 'red', 2 => 'b']

Xem thêm