PHP JSON обработка в массив

Я пытаюсь проанализировать массив всех нет из этого JSON:

[{"page":1,"threads":[{"no":20783566,"last_modified":1417023255},{"no":20789075,"last_modified":1417023250},{"no":20777699,"last_modified":1417023250}]},{"page":2,"threads":[{"no":20753588,"last_modified":1417023105},{"no":20784845,"last_modified":1417023103},{"no":20789489,"last_modified":1417023099},{"no":20788012,"last_modified":1417023074}]}]

Это то, что я до сих пор:

$array = json_decode($rawjson, true);

$threads = array();
$threadids = array();

for ($i = 0; $i < count($array); ++$i) {
array_push($threads, $array[$i]['threads']);
}

for ($i = 0; $i < count($threads); ++$i) {
array_push($threadids, $threads[$i]['no']);
}

Я знаю что первый for выражение не работает так, как должно, мне нужно array_push, чтобы не создавать массив внутри исходного массива, но я не знаю, как это сделать.
Я не могу получить второе for оператор, чтобы работать, потому что мне нужно цикл внутри каждого массива …

Конечный результат, который я хочу, это массив только no ценности. Я не хочу никакого форматирования массива. Если кто-то знает лучший способ сделать это, пожалуйста, дайте мне знать.

Спасибо!

0

Решение

Я думаю, что вы хотите, это …

$array = json_decode($rawjson, true);

$threads = array();
$threadids = array();

for ($i = 0; $i < count($array); ++$i) {
array_push($threads, $array[$i]['threads']);
}

for ($i = 0; $i < count($threads); ++$i) {
foreach ($threads[$i] as $thread) {
array_push($threadids, $thread['no']);
}
}

использование print_r чтобы увидеть, как выглядят ваши массивы. Это спасет вашу жизнь!

Еще лучше … (лично я предпочитаю foreach в таких ситуациях)

$array = json_decode($rawjson, true);

$threads = array();
$threadids = array();

foreach ($array as $page) {
array_push($threads, $page['threads']);
}

foreach($threads as $temp) {
foreach ($temp as $thread) {
array_push($threadids, $thread['no']);
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]