循环创建前 12 个月的列表

2024-01-13

有没有办法使用 PHP 循环根据当前月份(不包括当前月份)创建如下所示的前 12 个月的列表?

该值应始终是每月的第一天(格式:yyyy-mm-dd),下拉列表本身应仅显示年份和月份(格式:yyyy-mm):

<option value="2014-03-01">2014-03</option>
<option value="2014-02-01">2014-02</option>
<option value="2014-01-01">2014-01</option>
<option value="2013-12-01">2013-12</option>
<option value="2013-11-01">2013-11</option>
<option value="2013-10-01">2013-10</option>
//...

我尝试了以下操作,但似乎有问题,因为这不起作用:

<?php for ($i=0; $i<=12; $i++) { ?>
    <option value="<?php echo date('Y-m-d', strtotime("-1 month")); ?>"><?php echo date('Y-m', strtotime("-1 month")); ?></option>
<? } ?>

$start    = (new DateTime('1 year ago'))->modify('first day of this month');
$end      = (new DateTime())->modify('first day of this month');
$interval = new DateInterval('P1M');
$period   = new DatePeriod($start, $interval, $end);

$months = array();
foreach ($period as $dt) { 
    $months[$dt->format('Y-m-d')] = $dt->format('Y-m');
}
$reverse_months = array_reverse($months);
print_r($reverse_months);

Demo http://3v4l.org/Qt1hW

然后您可以循环 $reverse_months 来创建下拉列表

foreach($reverse_months as $key => $value) {
?>
    <option value="<?php echo key; ?>"><?php echo value; ?></option>
<?php
}

我们必须使用的原因array_reverse()DatePeriod 只在时间上向前推进。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环创建前 12 个月的列表 的相关文章

  • Laravel - 删除整个集合

    我有文章的图像 当我更新文章时 我想检查图像是否相同 如果不是 我想删除它们 但如果可能的话 我想删除整个集合而不进行其他查询 诸如此类就像我在下面的代码中一样 images gt delete 这是我的功能 images Media wh
  • jetty服务器运行php代码

    我想配置让jetty运行PHP文件 但到目前为止还没有成功 我在 Eclipse IDE 中安装了 Jetty WTP 工具 当我启动 Jetty 服务器时 我得到了例外 java lang ClassNotFoundException o
  • UNIX时间记录时区吗?

    我想问一下UNIX时间 UNIX时间是否记录时区 我将托管从美国芝加哥移至 JST 问题是我的整个 MySQL 数据库都有 UNIX 时间 芝加哥 美国时区 的记录 我有一个 PHP 代码来显示之前的时间 例如 3 天前 昨天等 当我搬到新
  • PHPUnit 和来自 Guzzle 的模拟请求

    我有一堂具有以下功能的课程 public function get string uri stdClass this gt client new Client response this gt client gt request GET u
  • C++11 基于范围的自动 for 循环(按值、引用和指针)

    我知道如何在 for 循环中使用 auto 关键字来按值或引用迭代此数组 struct A void fun int main A a 2 Value for auto x a x fun Ref for auto x a x fun Po
  • 如何显示多维数组第二层的 json 值?

    解决此代码时遇到问题 这些是数组 Array 0 gt stdClass Object id gt 1 name gt delux price gt 213 description gt tv gt 0 breakfast gt 0 par
  • 获取过时的 Composer 软件包列表

    我想获取过时的软件包列表 这些软件包将在我发布时更新composer update 作曲家有这样的功能吗 如果没有 有没有办法做到这一点 有或没有作曲家 Update Since Composer v1 1 2016 年 5 月 https
  • Apache 重写 - 获取 PHP 中的原始 URL

    我在 nginx 或 Apache 中重写了这个地址 http domain com hello 到像这样的脚本 http domain com test php ref hell 如何在 PHP 中访问这个重写的 URL 因为 如果我使用
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • FOSUserBundle & REST Api 调用:如何使用自定义 FormType?

    我在我的 Symfony2 网站上使用 FOSUserBundle 现在我正在开发一个 API 以允许通过 REST API 调用进行注册 我已经覆盖了 FOSUserBundle 的 RegistrationController ApiR
  • Laravel 5 / Codeception 未正确路由

    我正在尝试使用代码接收为控制器函数编写 API 测试用例 但遇到了一个问题 即控制器函数的路由似乎未正确评估 并且评估似乎根据我的不同而不同我的测试用例中有 这是我的测试用例中的代码示例 use ApiTester class Custom
  • PHP 5 的 SQLite 编译设置是什么?

    SQLite 3 7 附带了新的预写日志记录 WAL http www sqlite org wal html并且有很多设置可以被配置 http www sqlite org compile html 但是 似乎没有任何方法可以改变任何事情
  • 使用 PHP 5.3 ?: 运算符

    有了这个测试页 page int GET page 1 echo page 我不明白页面未定义时得到的输出 Request Result page 2 2 page 3 3 page 1 error Undefined index page
  • Zend Framework 2 将变量传递给模型

    我目前正在开发一个多语言网站 对于多语言部分 我使用翻译器 poedit 我将所选语言存储在会话中 效果很好 模块 php public function onBootstrap MvcEvent e session new Contain
  • 从数据库生成 XML 时出现 PHP 编码错误 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试获取一个简单的 PHP 服
  • 从命令行运行 PHP 脚本

    如何使用用于解析 Web 脚本的 PHP 解释器从命令行运行 PHP 脚本 我有一个phpinfo php从网络访问的文件显示German已安装 但是 如果我运行phpinfo php从命令行使用 php phpinfo php and g
  • 学说“没有命名的协会”

    将我添加到无法找出其学说映射出了什么问题的人列表中 我正在模拟国际象棋Game与一对多Halfmoves 有任何想法吗 DDL create table game game id int primary key create table h
  • 如何以 Magento 方式实现库存过滤器?

    在我的 magento 网站上可以看到缺货的产品 我想要在分层导航中添加一个自定义过滤器 其中显示 排除缺货 当客户单击它时 应该隐藏缺货产品 默认情况下 我在 系统 gt 配置 gt 目录 gt 库存 下启用显示 显示缺货产品 即我希望客
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7

随机推荐

  • 构建配置为更喜欢设置存储库而不是项目存储库,但存储库“Google”是由构建文件“build.gradle”添加的

    添加 allproject 时评估根项目时出现问题 原因 org gradle api InvalidUserCodeException 构建配置为更喜欢设置存储库而不是项目存储库 但存储库 Google 是由构建文件 build grad
  • 将 XML 字符串反序列化为对象 VB.NET

    我在网上看到了很多示例 但要么我无法理解该应用程序 要么该示例与我的示例太不同而无法转换 我有一个 XML
  • RecyclerView.Adapter通过position获取ItemView

    在我的适配器中 我调用LayoutManager ChildAt position 得到itemview 但我得到的视图不匹配itemview 当我打电话时notifyItemChanged position 应用程序崩溃 E Androi
  • Azure Key Vault 秘密访问间歇性无法连接并出现套接字异常

    我有一个在 NET 4 7 2 上运行并托管在 Azure AppService 中的 MVC 5 Web 应用程序 该应用程序使用 Azure Key Vault 来保存机密 该项目使用Microsoft Azure KeyVault 3
  • 在 Visual Studio 2010 中覆盖默认的 C++ 类模板

    当我在 Visual Studio 2010 中创建一个新的 C 类时 它会生成一个带有一些模板代码的类 我如何修改此模板以满足我自己的需要 查找相关信息的一个问题是 大多数有关创建模板的信息都是针对 NET 的 而 Visual C 的过
  • Flex 盒子动态宽度和高度

    我正在尝试使用反应本机创建消息视图 例如 如你看到的 气泡具有基于内容的动态宽度和高度 气泡有一个最大宽度 并且它们向下生长 我正在尝试使用 React Native 来重新创建这个 但是我只能实现 2 并且不确定如何实现这两个目标 这是我
  • 从 OTG 为以太网卡分配静态 IP

    我想为以太网卡分配静态 IP 通过 OTG 电缆连接到 Android 设备 它应该以编程方式完成 但我找不到有关 android 中以太网卡的任何参考 有任何想法吗 谢谢 如果它是 root 设备 你可以尝试使用这个 Process pr
  • Ruby/Rails - 将整数转换为星期几

    我知道你可以使用wday http apidock com ruby Date wday以整数值形式返回星期几 Date new 2001 2 3 wday gt 6 a k a Saturday 但是 有没有一种方法可以相反地做到这一点呢
  • 使用 滚动单页网站

    我正在开发一个单页网站 并且遇到了问题 a a tags 我希望当用户单击 Div 时 他们会被带到页面的不同部分 此刻我有 a a 那样做的 a href divid About a css tricks com examples Smo
  • 如何关闭 Excel VBA 内的 Internet Explorer 实例

    我正在运行一个 Excel VBA 宏 它打开一个 IE 实例 从 URL 中提取数据 然后再次关闭该实例 Dim IE As Object Set IE CreateObject InternetExplorer Application
  • Subsonic 如何处理连接?

    在 Nhibernate 中 您可以通过在 BeginRequest 期间创建会话来启动会话 并在 结束请求 public class Global System Web HttpApplication public static ISes
  • mplcursors:显示并突出显示附近局部极值的坐标

    我有代码显示 matplotlib 散点图中每个点的标签 使用复合光标 https mplcursors readthedocs io en stable 如同这个例子 https mplcursors readthedocs io en
  • htaccess - 重写以捕获友好的 URL 或查询字符串

    我正在尝试提出一个或多个重写规则 这些规则将采用友好的 url 或包含完整查询字符串的 url 该计划是通过使用 PHP 的 loadHTML 读取 URL 来创建纯文本页面 例如 Input 1 http www example com
  • body 标记末尾的渲染阻塞 Javascript - 内联脚本与外部脚本

    这是基于观察的后续行动上一个问题 https stackoverflow com questions 59468048 render blocking javascript at end of body tag firefox render
  • 使用多态函数从选项中提取对象

    无形状文档解释了如何使用多态函数来创建将一种容器中的对象映射到另一种容器中的函数 但是当您想从容器中解压东西时该怎么办 我有一个选项列表 val options Some 1 Some A Some 3 5 HNil 我想要一个多态函数 可
  • Twitter Bootstrap 图标或 ASCII 代码中的货币代码

    我正在 twitter bootstrap 中构建一个电子商务网站 我想在其中使用货币符号 图标在里面 我必须有其他选择 将货币代码写在ASCII码第二个是通过 twitter bootstrap 图标 我在其中创建自己的 css 到特定图
  • Tomcat 支持 HTTP/2.0?

    有谁知道Tomcat支持HTTP 2 0的最低版本是多少 我一直在他们的网站上到处寻找 但找不到有关此的任何详细信息 我是 Jetty 中的 HTTP 2 实现者 并且我关注其他实现 HTTP 2 的项目 雄猫队的马克 托马斯 Mark T
  • 如何在 Nginx 中启用 h2c?

    有没有办法在 Nginx 1 9 5 及以上版本中启用 h2c 又名 HTTP2 明文 我尝试过在 TL 上使用 h2https chronic101 xyz https chronic101 xyz它可以工作 但是我也想在端口 80 上实
  • 在 Linux 中将一个串行端口通过管道连接到另一个端口[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种将一个串行端口数据 无论数据类型 传输到另一个串行端口的方法 就我而言 我试图从一个串行端口接收数据 并通过连接到另一个串行
  • 循环创建前 12 个月的列表

    有没有办法使用 PHP 循环根据当前月份 不包括当前月份 创建如下所示的前 12 个月的列表 该值应始终是每月的第一天 格式 yyyy mm dd 下拉列表本身应仅显示年份和月份 格式 yyyy mm