php - 如何排除当月的前几个月?

标签 php

我有以下 PHP,它显示月份,然后在 foreach 内有一个 IF 语句,表示如果月份是二月,则执行 li:

$months = array('1' => 'January', '2' => 'February', '3' => 'March', '4' => 'April', '5' => 'May', '6' => 'June', '7' => 'July', '8' => 'August', '9' => 'September', '10' => 'October', '11' => 'November', '12' => 'December');
echo '<li><a class="by_month"></a><ul class="monthby" name="monthby">';
foreach($months as $month => $monthtitle):
  if ($month == '2'){
     echo '<li title="'.$monthtitle.'" rel="'.$month.'"><a href="#" title="'.$monthtitle.'">'.$monthtitle.'</a></li>';
  }
endforeach;
echo '</ul></li>';

如何修改上面的代码以表示如果该月份是二月,则排除之前的任何月份。基本上,我想创建当前月份和即将到来的月份的列表,但排除一年中过去的月份。

例如,如果月份是 11 月,则列表将仅显示 11 月和 12 月。它将排除之前的所有月份。

我该怎么做?我想我需要用 IF 语句做一些事情,就像我开始使用 date('n') 来获取当前月份,然后忽略当前月份的前几个月。

有什么帮助吗?

最佳答案

将数组键设置为整数,并将它们与日期('n')进行比较(n 代表月份,没有前缀零)

foreach($months as $month => $monthtitle):
  if ((int)$month >= (int)date('n')){
     echo '<li title="'.$monthtitle.'" rel="'.$month.'"><a href="#" title="'.$monthtitle.'">'.$monthtitle.'</a></li>';
  }
endforeach;

关于php - 如何排除当月的前几个月?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9186704/

相关文章:

Phpmailer 发送附件,但不发送正文

php - 如何使用 PHP Mysql 创建服务器机架表

javascript - 每次单击链接时都会执行 .js 文件

javascript - 将日期格式转换为字符串 Javascript

基于 php 的 MySQL 数据的全文搜索?

php - 使用 PHP 的 Http 空响应

php - 如何从数组中递归减去?

javascript - Ajax GET 请求复制页面

javascript - 将两个 javascript 合并为一个 foreach

javascript - PHP 与 onclick 函数