LoginSignup
32

More than 5 years have passed since last update.

PHPで配列内に重複する要素があるかないか判定する関数

Last updated at Posted at 2015-02-28

注意:コメントによりよい手法が書かれています

概要

PHPで配列内に同じ要素があるかないか判定したかったが、調べてもダイレクトに使えそうな組み込み関数がなかったので書いてみた。

コード

重複判定のために書いたのは、配列内の全ての要素が一意であるか調べる関数。

つまり
* 返り値がtrueなら配列内に重複要素はない
* 返り値がfalseなら配列内に重複要素あり
となる。

// 配列内の全ての値が一意かチェックする
function isUniqueArray ($target_array) {
  $unique_array = array_unique($target_array);
  if (count($unique_array) === count($target_array)) {
    return true;
  }
  else {
    return false;
  }
}

解説

PHPの組み込み関数であるarray_unique(\$array)は、引数の$arrayから重複要素を削除した配列を返す。つまり、重複要素削除前の配列内要素数と削除後の配列内要素数を比較し、要素数が同じであれば重複はないというだけのことである。

まとめ

記事にするほどのことでもなかったが、なんとなく不便だったのでメモ代わりに。あと、調べても同じことで困ってる人がちらほらいたのになぜか複雑なことをやっていたので。

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
32