LoginSignup
2
1

More than 3 years have passed since last update.

phpの配列同士の重複をチェックする

Posted at

なかなかググり力不足で一発でぐぐれないのでこちらに書きます。

「php 配列 重複 チェック」で検索したときに出やすいです。

このケースでは、関数を使わないとこんな感じでforeachを使うことになると思います。

example1
$array1 = [1 ,2 ,3];

$array2 = [2, 4];

$result = []:
foreach ($array1 as $a1) {
    foreach ($array2 as $a2) {
        if ($a1 === $a2) {
            $result[] = $a;
        }
    }
}

var_dump($result);

「array_intersect」を使うとスッキリ書けます。

example2
$array1 = [1 ,2 ,3];

$array2 = [2, 4];

var_dump(array_intersect($array1, $array2));

array(1) {
  [1]=>
  int(2)
}

この関数と逆の結果になるものとしてarray_diffがあります。
こちらは、重複していない、異なるものをチェックして配列で返してくれます。
どちらも便利でよいです。

php.net
array_intersect

php.net
array_diff

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1