Tienes que hacerlo con matriz asociativa para facilitar las cosas:
    
Código php:
Ver original-          'cantidad' => 1, 
-          'precio' => 40 
-     ) 
- ); 
-   
- $id = 'id-prod-2'; 
- $cantidad = 3; 
- $precio = 20; 
- if(isset($productos[$id])) { 
-     $productos[$id]['cantidad'] += $cantidad; 
-     // El precio no es necesario actualizarlo, se supone que es el mismo 
- } else { 
-           'cantidad' => $cantidad, 
-           'precio' => $precio 
-     ); 
- }