【问题标题】:Arithmetic operation in PHP String with colon ( : ) punctuation带有冒号 ( : ) 标点符号的 PHP 字符串中的算术运算
【发布时间】:2019-05-30 13:30:51
【问题描述】:

我正在尝试解决比较两次字符串的问题,它工作正常。这是代码。

不知何故,我不明白它为什么起作用。带冒号 ( : ) 标点符号的字符串如何正确比较?

$start = "10:00";
$end = "22:00";

if($start > $end) {
    echo "Start time is more than End time.";
} else {
    echo "End time is less than Start time.";
}

现在一切正常,输出为:

结束时间小于开始时间。

抱歉,如果我遗漏了什么,请提供详细信息。

谢谢。

【问题讨论】:

  • 使用DateTime API。字符串没有时间格式的概念,所以当它起作用时,一般都是巧合。
  • 不确定结束时间是否小于开始时间。在开始时间为 10:00 结束时间为 22:00 时是正确的。但它只是比较字符串 - 不在乎它是 : 还是任何其他字符。
  • 它与 ( : ) 无关...它基本上是按字母顺序比较字符串...您可以将变量更改为“a”和“b”,反之亦然进行检查。如果要比较时间,则需要使用 DateTime API

标签: php time


【解决方案1】:

它只是比较下面的字符串

if("overflow"=="stock"){
   echo "right";
}else{
   echo "wrong";
}

如果您想更好地比较变量中的实际值以将它们转换为数字

谢谢

【讨论】:

    【解决方案2】:

    您需要将字符串转换为时间戳对象。所以请使用以下代码:

    $start = strtotime("10:00:00");
    $end = strtotime("22:00:00");
    
    if($start > $end) {
        echo "Start time is more than End time.";
    } else {
        echo "End time is less than Start time.";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-28
      • 2016-10-12
      相关资源
      最近更新 更多