Hàm array_diff_assoc() trong PHP
Hàm array_diff_assoc() trong php có tác dụng lấy ra các phần tử ở mảng thứ nhất không nằm ở tất cả các mảng còn lại. Ví dụ giá trị 'freetuts.net' chỉ có ở mảng B mà không có ở mảng A thì nó được lấy.
Cú pháp:
array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )
Trong đó:
$array1
: mảng thứ nhất$array2
: mảng thứ hai- ....
$arrayn
: mảng thứ n
Trả về mảng gồm các phần tử không xuất hiện ở tất cả các mảng truyền vào.
Lưu ý: Các phần tử trả về chỉ ở mảng thứ nhất
Ví dụ:
Sử dụng hai tham số
PHP:
$array1 = array(
'name' => 'Lê Dũng',
'website' => 'tuihocweb.com',
'phone' => '0363789095'
);
$array2 = array(
'name' => 'Lê Dũng',
'website' => 'tuihocweb.com',
'phone' => '0363789095'
);
echo '<pre>';
print_r(array_diff_assoc($array1, $array2));<br><br><br><br><br><br><br><br><br><br><br><br><br>
Kết quả:
Mã:
Array
(
[website] => tuihocweb.com
)
Giải thích:
Trong ví dụ này ta thấy chỉ có giá trị 'tuihocweb.com' mới không tồn tại mảng còn lại nên nó được lấy để trả về
Sử dụng hơn hai tham số
PHP:
$array1 = array(
'name' => 'Lê Dũng',
'website' => 'tuihocweb.com',
'phone' => '0363789095'
);
$array2 = array(
'name' => 'Lê Dũng',
'website' => 'tuihocweb.com',
'phone' => '0363789095'
);
$array3 = array(
'name' => 'Lê Dũng',
'website' => 'tuihocweb.com',
'phone' => '0363789095'
);
echo '<pre>';
print_r(array_diff_assoc($array1, $array2, $array3));
Kết quả:
Mã:
Array
(
)
Giải thích:
Ta thấy cả ba giá trị ở mảng thứ nhất đều xuất hiện ở các mảng còn lại. Riêng có giá trị 'tuihocweb.com' là chỉ tồn tại ở mảng thứ ba nhưng vẫn không chọn. Như vậy dù giá trị đó chỉ xuất hiện ở một mảng nào đó thôi cũng không được chọn.