2016-11-23 71 views
0

我有一個返回非常大的json對象的webservice。我將它解碼爲一個數組進行解析。從PHP中獲取json中特定字段的所有實例

我想要做的是從單個數組對象的開始處的[id] => 21的json數組中提取所有數組成員。

使用LINQ的一個很好的簡單任務,但不知道如何在PHP中執行此操作。必須有一種方法來過濾和提取。

+2

添加代碼與現有的嘗試:D – georoot

+0

而json的非關鍵示例返回 – Bobot

回答

0

我將它們傳遞給回調函數在數組中使用類似array_filter

function find_id($var) 
{ 
    // returns whether the is is 21 
    return($var['id'] === 21); 
} 


$result = array_filter($jsondata, "find_id")); 

array_filter迭代在每個值。如果回調函數返回true,則數組中的當前值將返回到結果數組中。數組鍵被保留。

+0

這很完美。有沒有辦法指定過濾器的值,而不是硬編碼?如果我可以避開它,我寧願不必使用$ GLOBAL [...]。 – Nodoid

+0

就像這樣:http://php.net/manual/en/function.array-filter.php#93965 ?? – Sitethief

+0

或者使用可以接收參數的'array_walk' – Sitethief

相關問題