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_PAD_LEFT );
$month_name = date( 'F', mktime( 0, 0, 0, $i + 1, 0, 0, 0 ));
$selected="";
$month_options.$month_name."<br/>";
}
echo $month_options;
Result in PHP 5.5
January
February
March
April
May
June
July
August
September
October
November
December
Result in 7.0
January
January
January
January
January
January
January
January
January
January
January
please help me how to reslove this issue?..thanks in advance
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;
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With