2017-05-11 123 views
0

我有一個API,它通過JSON從一篇文章中獲取參數,我想爲一個鍵值對提取數組中的一個值。然而,儘管有很多嘗試,但我無法實現。PHP:從JSON數組中提取值

這裏是我的代碼:

$json = file_get_contents('php://input'); 
$request = json_decode($json, true); 
$parameters = $request["result"]["parameters"]; 

當我登錄$parameters到一個文本文件,將其記錄作爲

{"numberofhits":"5"} 

然而,我的努力捕捉值5不工作:

$numhits = $json['numberofhits']; logs as empty. 

那麼:

$numhits = $parameters->numberofhits; 

如何捕獲變量中的值5?

+0

你明白了什麼,當你'的var_dump()''的$ parameters'變量? –

+1

根據你的代碼'$ json'只是一個來自文件的字符串。沒有辦法'$ json ['numberofhits']'將會工作 – Adrian

+1

@adjan他可能犯了一個錯字問這個問題。 '$ parameters-> numberofhits' *應該工作得很好。有些東西沒有加起來。 –

回答

0

如果您的$parameters只顯示{"numberofhits":"5"},這意味着您的發佈請求只是返回json的json。嘗試json解碼$parameters,再次如json_decode($parameters, true);並記錄該結果。它應該記錄所需的數組。

+0

當我登錄它是空的。 – zztop

+0

您確定您的$參數只顯示{「numberofhits」:「5」}嗎?如果是這樣,上述應該工作得很好。 – gaganshera

1

從您的代碼上面$json是一個字符串,而不是一個JSON對象,你應該使用$request訪問numberofhits

$request['numberofhits']