PHP сегодня/вчера в форуме

Я показываю последнюю активность на своем форуме, и я извлекаю "$ mytime" из SQL. И теперь я, кажется, не могу понять этого:

$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(); { } else if(); {

Есть ли еще проблемы в этом коде?

6 ответов

Да, есть проблема с этим кодом. Поскольку это должно выглядеть так:

$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";


Это немного грязно, но вы можете попробовать что-то вроде этого:

$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

Вы поймете это.


В php синтаксис:

} elseif( /* conditions */ ) {

Хотя, если условий нет, просто сделайте

} else {

ОБНОВЛЕНИЕ: см. Комментарии

if( date('Ymd') == date('Ymd', strtotime($mytime)) ){ $day_name = 'This day';
} else { $day_name = 'Another day';
}
echo $day_name;


Чтобы получить дату вчера, используйте это...

date("Y-m-d", strtotime("-1 day"));


иначе, если это для других условий, которые вы хотите поставить и проверить, например.

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

в вашем случае это просто бесполезно... так держать его или удалять он не имеет разницы..


$day_name = ($dates == date('d-m-y')) ? 'This day' : 'Another day';

тернарный оператор будет достаточным или просто использовать

if(this is true){
} else {
}

licensed under cc by-sa 3.0 with attribution.