Не уверен, что подходит для новичков, но как вариант — получение данных, которые могут быть разбиты на несколько страниц. Например,
API Яндекс.Расписаний отдаёт не более 100 элементов за раз. На случай, если элементов больше, есть специальная секция pagination и там булевое поле has_next. То есть код должен выглядеть как-то так.
$page = 1;
do {
$data = jsondecode(file_get_contents("https://api.rasp.yandex.net/...&page=$page"));
// bla-bla-bla
$page++;
} while ($data['pagination']['has_next'])
То есть, do while нужен там, где не обойтись одним действием для проверки условия.