我有以下 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/