Bueno .. en su base un "carrito de compra" no es más que manejar un array (bidimensional o vários con mismo indice para los productos del carro y sus propiedades: precio, nombre, etc ...) pero que se propaga (el array) en cookies o sesiones.
Lee las FAQ's de este foro por qué ahí veras como trabajar con variables de sesión .. Si te manejas ya con arrays . .solo tienes que crear dicha variable de sesión con tu array .. leerla donde requieras y modificarla donde gustes, todo cambio debe ser volcado nuevamente a la variable de sesión para que quede disponible en sucesivas llamadas.
En sistios como
www.phpclasses.org (busca por "basket") tienes ejemplos como los que te comento que gestionan ese tipo de arrays típicos. El resto pese que puedan tener ejemplos es lo de menos si lo propagas en cookies o sesiones se trabaja igual que una simple variable.
Un saludo,