2016-06-12 8 views
0

ich konvertieren wollen ein Arrayphp convert Array zu json und dann Parsen json

<?php 
    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 
    echo json_encode($arr); 
?> 

Ergebnis JSon:

{"a":1,"b":2,"c":3,"d":4,"e":5} 

Jetzt Wert nenne ich möchte von 'a'.

$value = {"a":1,"b":2,"c":3,"d":4,"e":5} 
echo $value->a; 

Es ist kein etwas Druck.

Also versuche ich, wandeln es zu widersprechen:

<?php 
     $value = {"a":1,"b":2,"c":3,"d":4,"e":5}; 
     $value = json_encode($arr); 
     $value = json_decode($arr); 
     echo $value->a; 

    ?> 

Es ist kein Druck etwas zu.

können Sie mir bitte meinen Fehler sagen?

+3

In Ihrem letzten Code snipped, haben Sie bereits einen JSON-String haben - Sie haben es nicht json_encode wieder - nur Decodierung ist genug. Sie müssen nur einfache Anführungszeichen um ihn (die JSON-Zeichenfolge) setzen. – nimmneun

+2

Verwenden Sie error_reporting. '$ value = {...}' ist ein Syntaxfehler ... (Es ist ein gültiges Javascript-Objekt, aber Sie sind in PHP) – Zimmi

Antwort

1

Versuchen Sie, die folgende Lösung:

<?php 
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 
$json = json_encode($arr); 
$json = json_decode($json); 
echo $json->a; 
?> 

Demo:http://ideone.com/MkWWdA