PHP数组回声不起作用

时间:2016-04-25 15:19:04

标签: php arrays

我有一个像:

这样的数组
[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']'

有什么想法?

3 个答案:

答案 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'];