首页

一场由php双问号和空字符串引起的血案

php7开始有了??语法糖,可以简化一些场景的空值和isset判断,例如 $a = ['zhangsan'=>19, 'lisi'=>20]; $b = isset($a['zhangsan'])? $a['zahngsan'] : 'undefined'; 当zhangsan存在的时候取自己的值,否则就给个默认值undefined。这时候用??更简洁,直接 $b = $a['zahngsan'] ?? 'undefined'; 本来是很美好的,但是如果你要做判断的变量不能为空字符,这种就很不适合了。因为 $test = ''; $res = $test ?? 1;这时候$res是等于''的。 我遇到的问题是一次查询里面有开始和结束时间,函数的开始和结束时间默认是空字符串,然后我写了 $start = $stime ?? date('Y-m-d'); 结果$stime默认为空字符,查询的时候就悲催了。
更多>>
关于vue单页应用打包后js加载时间长的问题优化 折腾deepin20 Chrome下载地址被缓存的问题 解决Oracle云服务器ssh登不上问题 disown 如何让正在执行的命令进入后台执行