注意:コメントによりよい手法が書かれています
概要
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から重複要素を削除した配列を返す。つまり、重複要素削除前の配列内要素数と削除後の配列内要素数を比較し、要素数が同じであれば重複はないというだけのことである。
まとめ
記事にするほどのことでもなかったが、なんとなく不便だったのでメモ代わりに。あと、調べても同じことで困ってる人がちらほらいたのになぜか複雑なことをやっていたので。