Lo que puedes hacer es en lugar de agregar directamente al array, asignes un elemento por clave por ejemplo:
Código PHP:
Ver original// Agregar o modificar
$id = (int) $_POST['id'];
if (!isset($_SESSION['carrito'][$id])) { $_SESSION['carrito'][$id] = array( // Los elementos
);
} else {
$_SESSION['carrito'][$id]['cantidad'] += $new_cantidad; // solo aumentas la cantidad
}
// Para borrar:
unset($_SESSION['carrito'][$id]);
Saludos.