ragionamento un po' complicato...
vediamo se questo ti risolve qualcosa
codice:
<?
function carrello($new=array()) {
if(!is_array($new)) {
return;
}
$update = false;
if(count($_SESSION['carrello']) > 0) {
foreach($_SESSION['carrello'] as $key=>$articolo) {
$result = array_diff_assoc($articolo, $new);
if(count($result) == 1 && array_key_exists('quantity', $result)) {
$_SESSION['carrello'][$key]['quantity'] += $new['quantity'];
$update = true;
}
}
}
if($update === false) {
array_push($_SESSION['carrello'], $new);
}
}
session_start();
carrello(array('designScelto'=>$designScelto,'alienScelto'=>$alienScelto,'coloreScelto'=>$coloreScelto,'quantity'=>$quantity));
print_r($_SESSION['carrello']);
?>