sbagli...sempre se ho capito bene
tu hai questa pagina html dove l'utente seleziona questi prodotti poi preme un pulsante e questi prodotti dovrebbero finire dentro l'array
il codice allora è questo qua
[PHP]
if (!isset($_POST['carrello'])) {
echo "non hai selezionato alcun articolo, torna indietro " ;
}
elseif(isset($_POST['carrello'])){
$spesa = is_array($_SESSION['spesa']) ? $_SESSION['spesa'] : array();
$spesa[] = array ('art_id' => $value , 'art_nome' => $nome_art , 'art_prez' => $prez_art , 'art_quant' => $quantita );
$_SESSION['spesa'] = &$spesa;
print_r($spesa);
}
[/PHP]
questo dovrebbe funzionare è da sottolineare che questo codice ha un bug....
se l'utente inserisce 2 o più volte lo stesso prodotto verrà inserito un elemento già presente nell'array e quindi ci saranno elementi duplicati che possono essere considerate inutili perchè basterebbe incrementare il contatore quantità
per fare questo basta fare una funzione che cerca il prodotto nell'array e se esiste incrementa il contatore...
oppure sistemi l'array in modo migliore, mettendo come indice ad esempio l'id del prodotto che ne so
$spesa[ $id_prodotto ] se l'elemento esiste icrementi solo il contatore 'quantità' altrimenti inserisci il nuovo elemento $spesa[ $id_prodotto ] = $prodotto
la differenza nelle due soluzioni sta nella complessità
la prima hai complessità di uan ricerca lineare quindi O(n)
nella seconda soluzione invece è hash quindi costante O(1)