2016-11-23 6 views
0

非常に大きなjsonオブジェクトを返すWebサービスがあります。私はこれを解析するための配列にデコードします。PHPのjsonから特定のフィールドのすべてのインスタンスを取得する

私がしようとしているのは、個々の配列オブジェクトの先頭に[id] => 21のjson配列からすべての配列メンバーを抽出することです。

LINQを使用した簡単な作業ですが、PHPでこれを行う方法はありません。フィルタリングして抽出する方法が必要です。

+2

既存の試みでコードを追加してください:D – georoot

+0

そして、jsonの重要ではない例が – Bobot

答えて

0

私は、コールバック関数に渡す配列の各値を超えるこの

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


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

array_filter反復しためarray_filterのようなものを使用すると思います。コールバック関数がtrueを返すと、配列の現在の値が結果配列に返されます。配列キーは保持されます。

+0

を返しました。それは完璧です。フィルター値をハードコードするのではなく、指定する方法はありますか?もし私がそれを取り除くことができれば、私はむしろ$ GLOBAL [...]を使う必要はありません。 – Nodoid

+0

このようなもの:http://php.net/manual/en/function.array-filter.php#93965 ?? – Sitethief

+0

また、パラメータを受け取ることができる 'array_walk'を使用してください – Sitethief

関連する問題