Если я правильно понимаю, у вас есть строка, сохраненная в куки, например 12,55,120,43
, и вы хотите удалить одну из них, используя $_POST['id']
?
Поскольку это строка, я считаю, что лучшим вариантом является preg_replace (), это дает вам преимущество по сравнению с str_replace в том, что вы можете создать шаблон для удаления.
$id = $_POST['id'];
$cookie_name = "kedvenc_termek";
$_COOKIE[$cookie_name] = preg_replace("/\b(" . preg_quote($id) . ",)\b/", "", $_COOKIE[$cookie_name]);
echo $_COOKIE[$cookie_name];
Если вы хотите сохранить новую строку в файле cookie, обязательно сделайте это до того, как отобразите значение, поскольку вы не можете установить файл cookie после вывода.
Пример: https://3v4l.org/RQH4o