эта функция медленнее чем проверка в массиве по ключу через isset или empty
// 1
if (empty($arr[$id])) {
$arr[$id] = $id;
}
// 2
if (!in_array($id, $arr)) {
$arr[] = $id;
}
if (empty($arr[$id])) {
$arr[$id] = $id;
}
if (!in_array($id, $arr)) {
$arr[] = $id;
}
ваши аргументы не повод не использовать мой вариант. не сохраняйте туда пустые значения и всё будет хорошо.