2016-04-25 67 views
0

我有一個數組,如:PHP陣回聲不工作

[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 () 

我試圖呼應這樣的「行動」值:但越來越「審覈」

$json_result = json_decode($result, true); 
echo "$json_result[result]['action']"; 

,而不是我越來越:'Array['action']'

有什麼想法?

+4

'回聲$ json_result [ '結果'] [ '行動']逃避它;'? –

+0

@喬恩當我嘗試像這樣我得到以下錯誤:解析錯誤:語法錯誤,意外'(T_ENCAPSED_AND_WHITESPACE),預計標識符(T_STRING)或變量(T_VARIABLE)或數字(T_NUM_STRING) –

+2

我給的代碼示例將不會產生該錯誤,或​​假設您的問題是準確的任何錯誤。你用錯了。 –

回答

0

要查看所有陣列

print_r($json_result); 

要只查看行動

echo $json_result['result']['action']; 
+0

當我嘗試這樣我得到以下錯誤:解析錯誤:語法錯誤,意外'(T_ENCAPSED_AND_WHITESPACE),預計標識符(T_STRING)或變量(T_VARIABLE)或數字(T_NUM_STRING) –

+0

@TomCanfarotta如果你得到的T_ENCAPSED和空白豈不等於sbecause你還有周圍整個事情爲'回聲「$ json_result [‘結果’] [‘行動’]」雙引號;'注意上面的例子中沒有他們。 –

1

你錯過了從第一指數撇號:

$json_result[result]['action']; 

它應該是這樣的:

$json_result['result']['action']; 
      ^ ^

編輯: 你可以使用普通的PHP語法,如果你把({)大括號之間的整個表達式來解決數組值:

echo "This is the result: {$json_result['result']['action']};" 

...或者乾脆去掉雙引號(「)來自回聲。

此處瞭解詳情:php echo

2

使用內部字符串數組導致瘋狂。或至少可怕的挫折。

爲喬恩斯特林指出,你的情況,爲什麼甚至懶得把變量在雙引號?

echo $json_result['result']['action']; 

工作得很好。如果您必須使用字符串裏的數組,用花括號

echo "{$json_result['result']['action']}";