Невозможно напечатать json значений массива в php - PullRequest
0 голосов
/ 10 июля 2020

Привет, это был мой вывод am prinitng,

{"Confirmation":"200710035843DH4","Message":"success","Status":"success"}

Мне нужно сохранить каждое из значений подтверждения, сообщения, статуса в отдельных php переменных, как я могу это сделать. Ниже мой код

var_dump(json_decode($server_output));
echo $server_output["Confirmation"];

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Вы можете использовать extract(), однако это импортирует переменные из вашего массива в текущую таблицу символов. Если вы хотите контролировать имена переменных, вы можете использовать list():

<?php
$json = '{"Confirmation":"200710035843DH4","Message":"success","Status":"success"}';
$arr = json_decode($json, true);

list('Confirmation' => $conf, 'Message' => $msg, 'Status' => $status) = $arr;

echo $conf;
echo $msg;
echo $status;

рабочий демонстрационный

1 голос
/ 10 июля 2020

Вы можете сделать это разными способами, поищите различные подходы и их демонстрационные примеры.

Используя extract(),

<?php
$str = '{"Confirmation":"200710035843DH4","Message":"success","Status":"success"}';
extract(json_decode($str,true));
echo $Confirmation;
?>

DEMO: https://3v4l.org/3U43b

Использование foreach(),

<?php
$str = '{"Confirmation":"200710035843DH4","Message":"success","Status":"success"}';
$array = json_decode($str,true);
foreach ( $array as $key => $value ) { $$key = $value; }
echo $Confirmation;
?>

ДЕМО: : https://3v4l.org/jLnRE

Использование array destructure (начиная с php 7.1 ),

<?php
$str = '{"Confirmation":"200710035843DH4","Message":"success","Status":"success"}';
['Confirmation'=>$confirmation, 'Message'=>$message, 'Status'=>$status] =  json_decode($str,true);
echo $confirmation;
?>

ДЕМО: https://3v4l.org/rrFa8

Использование list(),

<?php
$str = '{"Confirmation":"200710035843DH4","Message":"success","Status":"success"}';
list('Confirmation'=>$confirmation, 'Message'=>$message, 'Status'=>$status) =  json_decode($str,true);
echo $confirmation;
?>

ДЕМО: https://3v4l.org/Zpt60

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...