PHP循环遍历月份数组

标签 php arrays date

这应该很容易,但我遇到了麻烦......

在 PHP 中,我如何回显一个选择下拉框,该框默认为当前月份并且具有 8 个月前的选项(即使它在去年出现)。

例如,本月默认为 6 月并在 11 月结束。

最佳答案

$months = array();
for ($i = 0; $i < 8; $i++) {
    $timestamp = mktime(0, 0, 0, date('n') - $i, 1);
    $months[date('n', $timestamp)] = date('F', $timestamp);
}

“自定义”月份名称的替代方案:

$months = array(1 => 'Jan.', 2 => 'Feb.', 3 => 'Mar.', 4 => 'Apr.', 5 => 'May', 6 => 'Jun.', 7 => 'Jul.', 8 => 'Aug.', 9 => 'Sep.', 10 => 'Oct.', 11 => 'Nov.', 12 => 'Dec.');
$transposed = array_slice($months, date('n'), 12, true) + array_slice($months, 0, date('n'), true);
$last8 = array_reverse(array_slice($transposed, -8, 12, true), true);

要输出这样的月份数组作为下拉列表非常简单:

<select name="month">
    <?php
        foreach ($months as $num => $name) {
            printf('<option value="%u">%s</option>', $num, $name);
        }
    ?>
</select>

关于PHP循环遍历月份数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221739/

相关文章:

javascript - 我无法在评论下通过 Ajax 获得评论回复而不刷新

PHP 表单 - 上传文件,想要使用 Silex 但不想使用 FormBuilder

php - PHP 中的异步 Web 服务

javascript - jQuery 省略了 params() 和 ajax() 中的日期值

java - 在Java中解析字符串中的不同日期格式

php - 计算 if 语句中的特定条件

c - c中的数组名到底是什么?

javascript - 我可以在 javascript 中将数组附加到 'formdata' 吗?

arrays - 程序中的C内存泄漏

javascript - 将时间戳转换为特定格式?