我创建了一个新的日期列,它默认为 0000-00-00
,我想检查它是否具有有效日期或全零,但这些代码似乎都不起作用对我来说,我不明白为什么。我知道它看到了日期,因为当我回显它时,它显示为零。如何检查日期列是否为 0000-00-00
?这是我尝试过的方法,但没有一个有效。
if (trim($row['date']) == '' || substr($row['date'],0,10) == '0000-00-00') {
// empty date
}
if (strtotime($row['date']) == '0000-00-00'){
// empty date
}
if ($row['date'] == '0000-00-00'){
// empty date
}
编辑 看来这可能只是我的 godaddy 托管服务器的问题,我将文件上传到免费的虚拟主机,解决方案 3 正在那里工作。很抱歉浪费大家的时间,我非常感谢您的快速回复。
最佳答案
您可以检查以下条件来代替您的条件...
如果 strtotime()
不包含特定日期字符串,则返回 false,或者为了正确检查空字符串,您可以使用 empty()
函数并检查字符串是否包含 '0000-00-00'
像数据,那么您可以使用 strpos()
,如下代码所示:
if(empty(trim($row['date'])) || (strpos($row['date'], '0000-00-00') !== false) || (!strtotime($row['date'])))
{
// empty date
}
关于PHP 检查 mysql 行是否为空日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48313363/