【问题标题】:If $time = midnight, change $day [closed]如果 $time = 午夜,则更改 $day [关闭]
【发布时间】:2017-08-03 11:03:17
【问题描述】:

如果时间是午夜 24:00+ $day 必须更改为第二天.. 并且 $time 重置.. (对不起,我的英语请)

<?php

if ($time > "23") {
    $day + "1";
}
elseif ($time < "24") {
    $day + "0";
}

echo $day;

switch ($day) {
    case "1" : echo ("Mo"); break;
    case "2" : echo ("Th"); break;
    case "3" : echo ("We"); break;
    case "4" : echo ("Tu"); break;
    case "5" : echo ("Fr"); break;
    case "6" : echo ("Sa"); break;
    case "7" : echo ("Su"); break;
    default : echo ("-error-");
}

?>

【问题讨论】:

  • 你的switch 应该被简单的数组替换。更不用说在字符串上做数学了。
  • 你有什么问题?
  • 从哪里开始... $day 未初始化。大概你的意思是$day = 1$day += 1,这取决于你在做什么。没有像 24:00 这样的时间,因为时间从 00:00 运行到 23:59.59。 PHP 开始标记中途是错误的。 switch 语句是错误的。还有……你到底想做什么?
  • 我很想知道@Lexikonn 的意图。但是您的代码永远不会跟踪时间状态。如果您尝试根据时钟变化打印出星期几,只需使用内置的 PHP 函数date。例如:echo date('D', time());。这是你想要做的吗?

标签: php if-statement time switch-statement


【解决方案1】:

目前尚不清楚您要达到的目标,但我建议您查看http://php.net/manual/en/function.date.php

如果您要打印出星期几(例如“星期一”),则可以这样做:

echo date('D', time());

如果您尝试获取当天的数字表示(1 = 星期一,到 7 = 星期日),那么这将起作用:

echo date('N', time());

后者仅在 PHP 5.1.0 或更高版本中可用。

除了代码中的语法错误之外,关键是您的代码永远不会及时跟踪更改。您需要参考服务器上设置的时间,这就是time() 在上面的代码中所做的事情。

希望这会有所帮助。如果不是,请说明您要让代码做什么。

【讨论】:

  • 我需要自己的时间,没有真正的:)
  • 无论你怎么做,你都需要时间来源(时间在不断变化,因此不能编码为无状态的 PHP 脚本,也不会跟踪任何类似的变化......它有参考时间)。
猜你喜欢
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多