1

我正在我的论坛上展示最新活动,并且我正在从 SQL 中提取“$mytime”。现在我似乎无法弄清楚这一点:

    $dates = date(" d-m-y",$mytime));
    if($dates == date('d-m-y')) {
      $day_name = 'This day';
   } else if(); 
      $day_name = 'Another day';
    }
    echo "$day_name";

我想不通这个: } else if(); {

这段代码还有问题吗?

4

6 回答 6

1

在 php 中的语法是:

} elseif( /* conditions */ ) {

虽然如果没有条件,干脆做

} else {

更新:见评论

if( date('Ymd') == date('Ymd', strtotime($mytime)) ){
    $day_name = 'This day';
} else {
    $day_name = 'Another day';
}
echo $day_name;
于 2013-08-23T21:39:12.300 回答
1

这有点乱,但你可以尝试这样的事情:

$dates = date("d-m-y",$mytime)); // you have an extraneous space here
if($dates == date('d-m-y')) {
   $day_name = 'Today';
} else if($dates === date("d-m-y", strtotime("-1 day")); 
   $day_name = 'Yesterday';
}
echo "$day_name";

strtotime 参考: http: //php.net/manual/en/function.strtotime.php

你会想办法的。

于 2013-08-23T21:42:29.410 回答
0

是的,该代码有问题。因为它应该是这样的:

$dates = date(" d-m-y",$mytime));
if ($dates == date('d-m-y')) {
    $day_name = 'This day';
} elseif (YOU-CAN-COMPARE IT TO SOMETHING ELSE AGAIN IN HERE)  {
    $day_name = 'Another day';
}
echo "$day_name";

或者,如果您不愿意再次比较它,请使用:

$dates = date(" d-m-y",$mytime));
if ($dates == date('d-m-y')) {
    $day_name = 'This day';
} else {
    $day_name = 'Another day';
}
echo "$day_name";
于 2013-08-23T21:41:41.523 回答
0
$day_name = ($dates == date('d-m-y')) ? 'This day' : 'Another day';

三元运算符就足够了,或者只是使用

if(this is true){

} else {

}
于 2013-08-23T21:42:19.250 回答
0

else if 是针对您想要放置并检查的其他条件,例如。

    if(){
         if part is true then run this};
    else if(){
              else if part true then run this};

在你的情况下,它只是没用......所以保留它或删除它没有任何区别..

于 2013-08-23T21:43:22.530 回答
0

要获得昨天的日期,请使用此...

date("Y-m-d", strtotime("-1 day"));
于 2013-08-23T21:48:39.320 回答