首页

一场由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默认为空字符,查询的时候就悲催了。
更多>>
一场由php双问号和空字符串引起的血案 composer Killed npm打包时webpack.dev.conf.js报undefined SyntaxError: Unexpected token u in JSON at position 0 免费ssl证书的自动续期 修改ssh服务端口后Failed to start OpenSSH server daemon报错