Hàm array_intersect_key

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

Cú pháp

phparray_intersect_key(array1, array2, array3, ...);

Ví dụ

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

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

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

php['a' => 1, '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', 3 => 'e'];
  $arr3 = [1 => 'f', 4 => 'g'];
  
  $res = array_intersect_key($arr1, $arr2, $arr3);
  print_r($res);
?>

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

php[1 => 'a']

Ví dụ

So sánh các mảng có kiểu khóa khác nhau:

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

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

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

Xem thêm