Bueno debes tener clara una ruta de variables, o sea un algoritmo...
Por ejemplo...
Ingreso un producto...
Si no existe (en el arreglo) lo inserto (con array_push)...
si ya existe (en el arreglo) no lo inserto como uno nuevo, sino que a la cantidad que ya esta del que existe (en el arreglo), le sumo la cantidad del que estoy insertando....
Chaop!
PD: aca tienes un ejemplo de lo que te digo...
http://www.desarrolloweb.com/articul....php?manual=56