Когда вы взрываетесь только через запятую, второе значение равно 49850
(с дополнительным пробелом в начале).
Так что взрывается по запятой, за которой следует пробел
$new_order = '49850, 49850, 49851, 49852, 49853, 49854';
$new_order = implode(',', array_unique(explode(', ', $new_order)));
или, вы можете добавить туда array_map()
к trim()
каждой записи ...
$new_order = implode(',', array_unique(array_map('trim', explode(',', $new_order))));