我有一个非常简单的问题,我只是不确定为什么我的代码不起作用。
<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前几天或等于今天。
目前仍在显示所有日子
我在这里缺少什么?
答案 0 :(得分:3)
我会假设它,因为你试图比较两个字符串。尝试比较unix时间戳:
if (mktime(0, 0 ,0, $m, $day, $y) <= time()){
希望这有帮助!
答案 1 :(得分:1)
您将字符串作为十进制值进行比较,请尝试:
if(strtotime($y.'-'.$m.'-'.$day) <= strtotime('today')){
// ...
}