寻找一种速记或更好的方法来测试零日期(MySQL datetime列),而不是:
if ($row['this_date'] == '0000-00-00 00:00:00') echo 'No date set.';
Run Code Online (Sandbox Code Playgroud)
是否有测试它的PHP函数?谢谢.
You*_*nse 19
我想你不需要任何速记.
这是一些微观优化.
你已经花了更多的时间来问这个问题,而不是在一年的平均编码中省去这样的速记.只需写下来继续前进.
你有没有更重要的问题要解决?
而且,通过这种速记,您将混淆自己的代码.
您当前的陈述非常清楚,"if date is empty"
但是所有提议的摘要都不是那么清楚.几个月后来到这个代码,如果这样的代码怪物具有任何特殊含义,你将困惑自己的问题.
你真正想要的是可读性.但你已经拥有它了.虽然所有提议的缩写都没有.
小智 18
关于什么:
if(strtotime($row['this_date']) == 0) echo 'No date set.';
Run Code Online (Sandbox Code Playgroud)
虽然你应该在数据库中使用NULL,但是一个简单的黑客就是:
if(!(int)$row['this_date'])echo'No Date Set.';
Run Code Online (Sandbox Code Playgroud)
你期待找到什么样的更好的方式?这很快.
PS这是一个黑客,因为我假设你将有一年.这意味着它不适用于字符串0000-00-00 00:00:01
作为正则表达式的粉丝,我将添加另一个:
if (!preg_match('/[1-9]/', $row['this_date'])) echo 'No date set.';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37790 次 |
| 最近记录: |