2016-06-12 3 views
0

Я хочу, чтобы преобразовать массив в JSONPHP преобразовать массив в JSON, а затем разбор JSON

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

Результат:

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

Теперь я хочу назвать значение 'а'.

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

Это ничего не печатает.

Так что я пытаюсь преобразовать его в объект:

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

    ?> 

Это не для печати ничего слишком.

может рассказать мне о моей ошибке?

+3

В своем последнем коде пропущено, у вас уже есть строка JSON - вы не должны json_encode его снова - только декодирование достаточно. Вам просто нужно поставить одинарные кавычки вокруг него (строка json). – nimmneun

+2

использовать error_reporting. '$ value = {...}' - синтаксическая ошибка ... (Это действительный объект Javascript, но вы находитесь в php) – Zimmi

ответ

1

Попробуйте следующее решение:

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

Демо:http://ideone.com/MkWWdA

Смежные вопросы