如何仅显示前几天或等于今天的内容?

时间:2012-06-05 01:35:41

标签: php date if-statement

我有一个非常简单的问题,我只是不确定为什么我的代码不起作用。

<div id="right_bottom">
<?
list($y, $m, $d) = explode('-', $pagedata->program->start);
foreach($pagedata->program->__workouts as $day => $workout){
   if (date('F j, Y', mktime(0, 0 ,0, $m, $day, $y)) <= date('F j, Y')){
?>
   <div id="right_side">
    <div id="<?=$workout->id?>" class="side_items">
     <a class="workouts" href="<?=$pagedata->program->id?>,<?=$day?>">
     <img src="<?=PROTOCOL?>//<?=DOMAIN?>/img/workout/<?=$workout->image?>"><br />
     <strong><?=$workout->title?></strong></a><br />
     <h2><?=date('F j, Y', mktime(0, 0 ,0, $m, $day, $y))?></h2><br />
   </div>
  </div>

<?
}
}
?>
</div>

我希望IF条件语句仅显示“right_side”DIV前几天或等于今天。

目前仍在显示所有日子

我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

我会假设它,因为你试图比较两个字符串。尝试比较unix时间戳:

if (mktime(0, 0 ,0, $m, $day, $y) <= time()){

希望这有帮助!

答案 1 :(得分:1)

您将字符串作为十进制值进行比较,请尝试:

if(strtotime($y.'-'.$m.'-'.$day) <= strtotime('today')){
    // ...
}