Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Problemi con json_encode & json_decode

    Buongiorno oggi mentre passavo del tempo col mio sito ho avuto bisogno di passare un array da una pagina php all'altra.
    Perciò ho associato alla variabile di sessione $_SESSION['mia'] .= json_encode($mioarray) il mio array con la funzione json_encode. //premetto che il mio array dovrebbe essere cosi [0] = "1 libro rosso"
    [1] = "1 libro giallo", i valori li prende da un form e li metto tutti all'interno della stessa variabile quindi diventa un array di stringhe.
    Quando vado nell'altra pagina se stampo echo $_SESSION['mia']; visualizzo {"1":"1 libro giallo"}{"2":"1 libro giallo"}.

    Mentre se stampo echo json_decode($_SESSION['mia']); non visualizzo niente.

    Come mai?
    Come faccio a riottenere l'array?

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se vuoi un array come risultato devi valorizzare a "true" il parametro assoc della funzione json_decode() (vedi esempio 1 qui => http://php.net/manual/en/function.json-decode.php)

  3. #3
    ok grazie, quindi diventerebbe -> json_decode($_SESSION['mia'], true), però macno cosi visualizza nulla

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    posta il codice che usi per cercare di vederlo a schermo

  5. #5
    Si scusa il tempo di tornare a casa e lo posto

  6. #6
    $prova = json_decode($_SESSION['mia'] , true);
    echo $prova;

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Non puoi fare l'echo di un array, non è una stringa.
    Prova a fare

    $prova = json_decode($_SESSION['mia'] , true);
    print_r($prova);

    così vedi cosa contiene.

  8. #8
    Però echo $prova[1] si può no?
    comunque ora provo e vediamo cosa esce fuori

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Sì, quello funziona, ammesso che il valore associato alla chiave 1 sia una stringa o un numero.

  10. #10
    Beh il mio arrey è diventato una stringa dal memento che ho concatenato stringhe e valori presi da select box. Un attimo di nuovo torno a casa e lo provo

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.