2012-01-13 5 views
0

Я пытаюсь искать через этот массив Json с помощью PHP:Как искать через 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"}]}} 

Я хочу искать через это, чтобы найти «ID», который имеет название проекта «ТЕСТ ПРОЕКТ 2» и имя «HarryCole ». Я попытался использовать этот цикл foreach, но не удалось. Может кто-то указать мне верное направление? Благодарю.

+0

Sorry. Это было в основном то, что ответил Майкл, но я не понимал, что должен был расшифровать Json. Наверное, почему у меня не было радости. : P Я попробую его с расшифровкой. –

ответ

1

Вы будете нуждаться в http://us2.php.net/json_decode, а также цикл Еогеасп как

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

Спасибо! Не могли бы вы объяснить, что такое $ key => $ value? Было бы что-то вроде $ key => вехи? Еще раз спасибо. –

+0

$ key будет индексом массива, а $ value - значением. Как $ array [1] = "blah"; $ key будет равен 1 и $ value = "blah" – Michael

2

Вы хотите использовать json_decode($json, true) на строке, чтобы преобразовать ее из JSON в нотацию PHP (ассоциативный массив).

+0

+1. Если вы хотите использовать foreach или любые операции с массивом, вам нужно json_decode. Не забывайте true во втором аргументе или вы получите объект вместо массива. – Martijn

Смежные вопросы