否则,如果在PHP中有时间限制

时间:2019-06-24 01:50:08

标签: php if-statement

我正在尝试获取一个我正在工作的网站,以根据一天中的时间显示不同的图片。我正在使用PHP elseif语句。

我尝试将格式更改为“ G”以消除开头的零,我尝试使用整天的“ H:i:s”,并且尝试使用“ H”以获取触发事件的时间。

<?php
date_default_timezone_set('America/New_York');
$datetime = new DateTime('now');
$time = $datetime->format('H');
if ($time <= 06 &&$time >= 20) {
  echo '<img src="images/SpringNight.png" class="rounded img-fluid" width="720" height="480">';
}else{
  echo '<img src="images/Spring.png" class="rounded img-fluid" width="720" height="480">';
}
?>

我正在尝试在elseif中的第一条语句在晚上8点至早上6点之间弹出。一整天都在输出else。

编辑:我想我明白了。我尝试使用“ ||”代替“ &&”,它似乎起作用了。

<?php
date_default_timezone_set('America/New_York');
$datetime = new DateTime('now');
$time = $datetime->format('H');
if ($time <= 06 || $time >= 20) {
  echo '<img src="images/SpringNight.png" class="rounded img-fluid" width="720" height="480">';
}else{
  echo '<img src="images/Spring.png" class="rounded img-fluid" width="720" height="480">';
}
?>

1 个答案:

答案 0 :(得分:1)

我建议您进行|| (如您在评论中所说)作为三元。然后,您可以不带回显就打印HTML,使用$ fileName变量,而不必重复所有HTML两次。

<?php
date_default_timezone_set('America/New_York');
$datetime = new DateTime('now');
$time = $datetime->format('H');
$fileName = ($time <= 6 || $time >= 20) ? 'SpringNight' : 'Spring';
?>
<img src="images/<?=$fileName?>.png" class="rounded img-fluid" width="720" height="480">