Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    154

    unset variabile sessione array multidimensionale

    Ciao a tutti/e,

    ho questo array multidimensionale $_SESSION['cart'] che stampato è così:
    Codice PHP:
    Array
    (
        [
    0] => Array
            (
                [
    id] => 2
                
    [name] => Collier Ano Grand
                
    [price] => 45
                
    [quant] => 1
                
    [ptotal] => 45
            
    )


    Come faccio ad eliminare la variabile di sessione dove l'id passato tramite POST è 2?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Codice PHP:
    foreach ($_SESSION['cart'] as $key => $subarray)
    {
        if (
    $subarray['id'] == 2)
        {
            unset 
    $_SESSION[$key];
            break;
        }


  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    154
    Mancavano le parentesi tonde all'unset, ciononostante non funziona

    Sai perchè??

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Per "non funziona" vuoi dire che ristampando $_SESSION l'array che volevi eliminare è ancora lì o cos'altro?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    154
    Esatto, non cancella l'elemento!

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Prima di unset mettici
    echo 'chiave: '.$key;

    così vediamo se entra nell'if e se trova la chiave giusta.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    154
    Stampa questo:
    codice:
    Array
    (
        [0] => Array
            (
                [id] => 3
                [name] => Collier Ano petit
                [price] => 45
                [quant] => 1
                [ptotal] => 45
            )
    
    )
    
    chiave: 0

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Stai cercando l'id 2 o 3?
    Nell'if hai messo il numero giusto?

    Usa questo codice e dimmi cosa stampa
    Codice PHP:
    echo "<pre>";
    print_r($_SESSION['carrello']);
    echo 
    "</pre>";

    foreach (
    $_SESSION['cart'] as $key => $subarray)
    {
        if (
    $subarray['id'] == 2//dimmi se hai cercato 2 o quale altro id
        
    {
            echo 
    'Chiave: '.$key;
            unset(
    $_SESSION[$key]);
            break;
        }
    }

    echo 
    "<pre>";
    print_r($_SESSION['carrello']);
    echo 
    "</pre>"

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    154
    L'id da cancella re è dinamico perché passato in $_POST: adesso era 3. Comunque stampa questo:

    codice:
    Array
    (
        [0] => Array
            (
                [id] => 3
                [name] => Collier Ano petit
                [price] => 45
                [quant] => 1
                [ptotal] => 45
            )
    
    )
    Chiave: 0<pre>Array
    (
        [0] => Array
            (
                [id] => 3
                [name] => Collier Ano petit
                [price] => 45
                [quant] => 1
                [ptotal] => 45
            )
    
    )

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Oddio... che fesso che sono...

    unset($_SESSION['carrello'][$key]);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.