Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Lettura da PHP di un oggetto proveniente da JS

    Lato JS preparo un oggetto che converto in una stringa JSON tramite JSON.stringify.
    L'output dell'oggetto si presenta in questa forma:

    {"nome_custom_rpe":{"tipo":"stringa","codice":0}," rep1":{"tipo":"float","codice":1},"rep2":{"tipo":" float","codice":2},"rep3":{"tipo":"float","codice" :3}}

    Lato PHP recupero il dato tramite:
    $valori = json_decode($_POST["valori"]);

    Ora devo lavorarci con questi dati in PHP, ma se utilizzo:
    $valori["nome_custom_rpe"] oppure $valori["nome_custom_rpe"]["tipo"],
    PHP mi restituisce l'errore Illegal string offset 'nome_custom_rpe' in etc...

    Se utilizzo:$valori->nome_custom_rpe oppure $valori->{"nome_custom_rpe"},
    mi restituisce blank.

    Come posso leggere l'oggetto in PHP?
    Grazie.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,130
    Intanto devi capire che cosa ti restituisce json_decode(), non devi tentare l'accesso ai suoi dati andando a caso.
    La decodifica come l'hai fatta tu restituisce uno standard object (stdClass Object), quindi vi si accede con l'operatore freccia, con le quadre si accede ad un array.

    Appurato questo, devi anche capire dove sono i dati che ti interessano
    $valori->nome_custom_rpe
    non è un valore, ma è ancora un oggetto che contiene 2 valori "tipo" e "codice"
    Codice PHP:
    // per ottenere il tipo
    $valori->nome_custom_rpe->tipo

    // per ottenere il codice
    $valori->nome_custom_rpe->codice 
    Dopo json_decode() metti questo, ti chiarirà le idee
    Codice PHP:
    echo '<pre>';
    print_r($valori);
    echo 
    '</pre>'
    Se vuoi che la stringa json che ti arriva venga invece trasformata in un array PHP devi aggiungere il parametro "true"
    Codice PHP:
    $valori json_decode($_POST["valori"], true); 
    Earth2: 3QCNSPFQUH

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 © 2021 vBulletin Solutions, Inc. All rights reserved.