Почему echo выводит содержимое в том месте где функция объявлена, а не вызвана?
Функция вызывается в блоке над кнопкой заказать (см. скриншот)
<div class="date-block-radio">
' . printdates($dates, $checkid) . '
</div>
И объявлена в начале страницы (см. скриншот). В связи с чем echo выводит содержимое не в месте вызова функции?
<div class="mains-block">
<img src="back.jpg" class="back" alt="">
<?
$i = 1;
$id = 0;
$checkid = 1;
$select = mysqli_query($connect, "SELECT * FROM `page_programs` ORDER BY `page_programs`.`program_id` ASC");
$rowsCount = mysqli_num_rows($select);
function printdates($datesparam, $checkidparam)
{
foreach ($datesparam as $rowdate) {
echo '
<label class="date" for="check' . $checkidparam . '" date="' . $rowdate['date'] . '">
' . $rowdate['date'] . '
<input class="radio" type="radio" name="check" id="check' . $checkidparam . '" value="' . $rowdate['date'] . '" seatsNumber="' . $rowdate['number_of_seats'] . '">
</label>
';
$checkidparam++;
};
};
Пробовал написать другую функцию с echo, она выводится там где вызвана. Скриншот https://i.sstatic.net/WtTW0.jpg
Источник: Stack Overflow на русском