Что-то вроде этого:
Сначала вы используете json_decode
, которая является встроенной функцией php для декодирования данных JSON:
$json = '{
...
}';
$data = json_decode($json);
Здесь вы можете увидеть, какой тип данных PHP (т.е. объекты, массивы, ...) декодирование строки JSON дало вам, используя, например:
var_dump($data);
И затем вы перебираете элементы данных, ища в каждом элементе categoryid
, если искомый $catId
находится в списке - in_array
помогает сделать это:
$catId = 30;
$urls = array();
foreach ($data->jsondata as $d) {
if (in_array($catId, $d->categoryid)) {
$urls[] = $d->url;
}
}
И каждый раз, когда вы находите совпадение, добавляйте url
в массив ...
Это означает, что в конце цикла выиметь список URL:
var_dump($urls);
Дает вам, в этом примере:
array
0 => string 'www.cnn.com' (length=11)
1 => string 'www.time.com' (length=12)
2 => string 'www.microsoft.com' (length=17)
3 => string 'www.freshmeat.com' (length=17)
До вас, чтобы построить из этого - не должно быть много осталосьделать; -)