getting months using mktime not working in PHP 7.0.
$month_options=\"\";
for( $i = 1; $i <= 12; $i++ ) {
$month_num = str_pad( $i, 2, 0, STR_P
Why not use DateTime objects instead? They are easier to work with, and easier to manipulate. DateTime is available from PHP5.2 and upwards.
This snippet
$date = new DateTime("january");
for ($i = 1; $i <= 12; $i++) {
echo $date->format("F")."\n";
$date->modify("+1 months");
}
would output
January
February
March
April
May
June
July
August
September
October
November
December
Live demo
note PHP7 = is_dst parameter has been removed.
$month_options="";
for( $i = 1; $i <= 12; $i++ ) {
/* $month_num = str_pad( $i, 2, 0, STR_PAD_LEFT ); -- there is no use for this line */
$month_name = date( 'F', mktime( 0, 0, 0, $i + 1, 0, 0)); // is_dst parameter has been removed.
/* $selected=""; -- there is no use for this line */
/* $month_options.$month_name."<br/>"; -- you are not correctly set this paramter */
$month_options .= $month_name."<br/>"; // so if you do like this, it will be correct
}
echo $month_options;
It is cleary written here that last parameter is_dst
of mktime has been removed in PHP 7, You have to give 6 parameters instead of 7.
Try this code snippet here 7.0.8
<?php
ini_set('display_errors', 1);
$month_options = "";
for ($i = 1; $i <= 12; $i++)
{
$month_num = str_pad($i, 2, 0, STR_PAD_LEFT);
$month_name = date('F', mktime(0, 0, 0, $i + 1, 0, 0));
$selected = "";
$month_options .= $month_name . "<br/>";
}
echo $month_options;