array_diff_assoc() trong php

# Description

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.

# Parameters

Cú pháparray 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

# Return values

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.

Note: Các phần tử trả về chỉ ở mảng thứ nhất

# Examples

Sử dụng hai tham số

Code:

$array1 = array(
    'name'      => 'Cường',
    'website'   => 'freetuts.net',
    'phone'     => '0979 306 603'
);

$array2 = array(
    'name'      => 'Cường',
    'website'   => 'https://freetuts.net',
    'phone'     => '0979 306 603'
);

echo '<pre>';
print_r(array_diff_assoc($array1, $array2));<br><br><br><br><br><br><br><br><br><br><br><br><br>

Result:

Array
(
    [website] => freetuts.net
)

Explan:

Trong ví dụ này ta thấy chỉ có giá trị 'freetuts.net' 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ố

Code:

$array1 = array(
    'name'      => 'Cường',
    'website'   => 'freetuts.net',
    'phone'     => '0979 306 603'
);

$array2 = array(
    'name'      => 'Cường',
    'website'   => 'https://freetuts.net',
    'phone'     => '0979 306 603'
);

$array3 = array(
    'name'      => 'Cường',
    'website'   => 'freetuts.net',
    'phone'     => '0979 306 603'
);

echo '<pre>';
print_r(array_diff_assoc($array1, $array2, $array3));

Result:

Array
(
)

Explan:

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ị 'freetuts.net' 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.

No more example!

Các loại function khác

Nguồn: freetuts.net