Php получает значения из json encode

У меня есть параметры передачи URL-адресов, используя json_encode для каждого значения, например:

$json = array
(
    'countryId' => $_GET['CountryId'],
    'productId' => $_GET['ProductId'],
    'status'    => $_GET['ProductId'],
    'opId'      => $_GET['OpId']
);

echo json_encode($json);

Он вернул результат как:

{  
  "countryId":"84",
  "productId":"1",
  "status":"0",
  "opId":"134"
}

Можно ли использовать json_decode для анализа каждого значения для дальнейшей обработки данных?

Спасибо.

Ответы

Ответ 1

json_decode() вернет объект или массив, если второе значение истинно:

$json = '{"countryId":"84","productId":"1","status":"0","opId":"134"}';
$json = json_decode($json, true);
echo $json['countryId'];
echo $json['productId'];
echo $json['status'];
echo $json['opId'];

Ответ 2

json_decode вернет тот же массив, который был первоначально закодирован. Для instanse, если вы

$array = json_decode($json, true);
echo $array['countryId'];

ИЛИ

$obj= json_decode($json);

echo $obj->countryId;

Они оба будут эхо 84. Я думаю, что имена функций json_encode и json_decode не требуют пояснений...