配列内の重複した値を削除【array_unique、array_value】

配列内の重複した値を削除する関数とその注意点。

【array_unique(配列)】

ex.1:
$A = array(‘apple’,’orange’,’grape’,’apple’,’melon’);
$R = array_unique($A);
print var_dump($R);
→array(4){
[0]=>string(5)”apple”
[1]=>string(6)”orange”
[2]=>string(5)”grape”
[4]=>string(5)”melon”
}

以上のような配列になる。
ただ、array_uniqueはキーがそのまま保持されてしまうため、順番的には4番目の値なのにキーが「4」となっている。
キーを保持する必要がある場合はこれでいいのだが、保持したくない場合は再度キーを割り当てる必要がある。
その場合は、array_uniqueの後にarray_valueを使う。

【array_value(配列)】

ex.2:
$A = array(‘apple’,’orange’,’grape’,’apple’,’melon’);
$R = array_unique($A);
//キー振り直し
$Y = array_value($R);
print var_dump($Y);
→array(4){
[0]=>string(5)”apple”
[1]=>string(6)”orange”
[2]=>string(5)”grape”
[3]=>string(5)”melon”
}