Я пытаюсь использовать функцию даты, которую я нашел в SO, чтобы создать массив дат из двух заданных дат. Он выглядит так:PHP отображает возвращаемые значения массива с помощью print_r
function createDateRangeArray($strDateFrom,$strDateTo) {
// takes two dates formatted as YYYY-MM-DD and creates an
// inclusive array of the dates between the from and to dates.
// could test validity of dates here but I'm already doing
// that in the main script
$aryRange=array();
$iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2), substr($strDateFrom,8,2),substr($strDateFrom,0,4));
$iDateTo=mktime(1,0,0,substr($strDateTo,5,2), substr($strDateTo,8,2),substr($strDateTo,0,4));
if ($iDateTo>=$iDateFrom) {
array_push($aryRange,date('Y-m-d',$iDateFrom)); // first entry
while ($iDateFrom<$iDateTo) {
$iDateFrom+=86400; // add 24 hours
array_push($aryRange,date('Y-m-d',$iDateFrom));
}
}
return $aryRange;
}
$print_r($aryRange);
По какой-то причине он не будет печатать массив. Я знаю, что мои значения $strDateFrom
и $strDateTo
хороши, поскольку я могу повторить их до и после функции. Любая помощь высоко ценится!
Потому что у вас нет $ aryRange определена. Это локальная переменная внутри функции, которая никогда не вызывается. print_r (createDateRangeArray ($ strDateFrom, $ strDateTo)) – sashkello
Вы делаете это неправильно ... '$ print_r ($ aryRange);' должно быть 'print_r (createDateRangeArray ('ваша дата начала', 'ваша дата окончания')) ; ' –