Ну, как минимум, вам не нужен ключ $ в foreach.
if ($cart) {
// you car is now an array of $items.
$items = explode(',',$cart);
$key = $_GET[ 'key' ];
// are you sure pizza_id is correct too? You may want to echo/log it
// if there is an $item which corresponds to $key, remove it.
if( isset( $items[ $key ] ) )
unset( $items[ $key ] );
// this loop searches for all indexes of $_GET[ 'pizza_id' ] and removes them
// comment this out if you don't want to do that. For some reason
// I missed it the first go round.
while( ($pos = $array_search( $items, $_GET[ 'pizza_id' ] ) !== FALSE )
{
array_splice( $items, $pos, 1 );
}
// implode afterwards
$cart = implode( ',', $items );
}
Другой автор указал, что ваш исходный код также имеет $GET['key']
.Badness 10000. У вас есть предупреждения и вывод ошибок на максимальном уровне во время разработки?