【PHP】配列の重複削除

PHPにて配列の重複をまとめる関数array_uniqueというのがあります。
一見ありがたいのですが注意が必要です。

$array1 = array('111', 1111', '222', '333', '444');
$result = array_unique($array1);

のようにすると結果

Array
(
    [0] => 111
    [2] => 222
    [4] => 333
    [4] => 444 
)

となり重複しているものがまとまってると見えますが、配列見ると[1]が無い。

まとめた後に別処理を行った場合に不具合が生じる可能性があります。

$result2 = array_values($result);

array_valuesを利用することで振り直しを行えます。

Array
(
    [0] => 111
    [1] => 222
    [2] => 333
    [3] => 444 
)

どう利用するかによりますが、array_valuesも使って振り直しを行ったほうがいいかもしれません。