di solito io metto in sessione gli articoli separati:

codice:
Array
(
    [P8] => Array
        (
            [NUM_PEZZI] => 7
            [PREZZO] => 10.00
            [CODICE] => AB-02
        )
    [P8] => Array
        (
            [NUM_PEZZI] => 2
            [PREZZO] => 10.00
            [CODICE] => AB-03
        )

)
Poi fai ciclare l'array prendendo le quantita e ricalcolando tutto...

Forse questo metodo ti permette + elasticità, o forse è solo questione di abitudine...