我有一个像:
这样的数组[meta] => Array (
[company] => Company, LLC
[confirmation] => 6391381
[reference] => None
[service] => Service
[timestamp] => 2016-04-25 11:12:54
[user] => company
)
[result] => Array (
[action] => REVIEW
[detail] => TRANSACTION REQUIRES FURTHER ATTENTION
[issues] => Array (
[0] => DOB CHECK FAILED
)
)
[output] => Array ( )
我试图像这样回应'action'值:
$json_result = json_decode($result, true);
echo "$json_result[result]['action']";
但我得到的不是'REVIEW':'Array['action']'
有什么想法?
答案 0 :(得分:2)
在字符串中使用数组会导致疯狂。或者至少可怕的挫败感。
正如Jon Stirling指出的那样,在你的情况下为什么甚至不愿意把变量放在双引号中?echo $json_result['result']['action'];
工作得很好。如果必须在字符串中使用数组,请使用花括号
对其进行转义echo "{$json_result['result']['action']}";
答案 1 :(得分:1)
你错过了第一个索引中的撇号:
$json_result[result]['action'];
它应该是这样的:
$json_result['result']['action'];
^ ^
修改强> 如果将整个表达式放在大括号之间( {),则可以使用常规的php语法来处理数组值:
echo "This is the result: {$json_result['result']['action']};"
...或者只是从echo中删除双引号(")。
此处有更多信息: php echo
答案 2 :(得分:0)
查看所有数组
print_r($json_result);
仅查看操作
echo $json_result['result']['action'];