2012-01-13 108 views
0

我试图使用PHP通过这个JSON数组搜索:如何通过JSON进行搜索?

{"count":"2","items":{"milestone":[{"id":"3107","username":"TomSmith1","userid":"1620602","date":"2012-01-12 16:49:26","projectid":"804","projectname":"TEST PROJECT","reason":"Partial payment for project","amount":"25","currency":"1"},{"id":"3111","username":"HarryCole","userid":"1620603","date":"2012-01-13 16:42:39","projectid":"804","projectname":"TEST PROJECT 2","reason":"Partial payment for project","amount":"10","currency":"1"}]}} 

我想通过这个搜索找到了“身份证”,里面有项目名称“测试项目2”和用户名“HarryCole ”。我尝试过使用foreach循环,但没有成功。任何人都可以将我指向正确的方向吗?谢谢。

+0

对不起foreach循环。这基本上是迈克尔回答,但我没有意识到我必须解码Json。可能为什么我没有快乐。 :P我会尝试解码它。 – 2012-01-13 23:03:35

回答

1

你会需要http://us2.php.net/json_decode,也喜欢

foreach($json_decoded as $key=>$value) { 
    // Check for id/values 
} 
+0

谢谢!你能解释一下$ key => $ value是什么?它会像$ key =>里程碑?再次感谢。 – 2012-01-13 23:40:30

+0

$ key是数组的指针,$ value是数值。像$ array [1] =“blah”; $ key将是1,$ value =“blah” – Michael 2012-01-16 04:27:11

2

你想在字符串上使用json_decode($json, true)将它从JSON转换为PHP表示法(关联数组)。

+0

+1。如果你想使用foreach或任何数组操作,你需要json_decode。不要忘记第二个参数为true,否则你会得到一个对象而不是数组。 – Martijn 2012-01-13 22:26:08

相关问题