array_diffは配列のkeyを初期化しない。
array_diffの結果をそのままSQLのwhere条件などにしようとするとエラーになる
$id = array(100, 200);
$delete_id = array(100);
$id = array_diff($id, $delete_id);
print_f(id);
結果:
Array
(
[1] => 200
)
本来の関数の目的とは異なるが、array_valuesを使用すると
配列のkeyを初期化することができる。
$id = array(100, 200);
$delete_id = array(100);
$id = array_values(array_diff($id, $delete_id));
print_f(id);
結果:
Array
(
[0] => 200
)