我写了很多这样的 if 语句来检查一个空变量,尤其是来自 mysql,但是有更好的/替代语法吗?
if($a!=""){
你可以使用empty()
功能
if(!empty($a)) {
最快的:
if ($a) { /* ... */ }
最有趣的:
if (isset($a[0])) { /* ... */ }
那么语法它是正确的。
但是" "
不是空的,所以你可以看看trim()
。
我更喜欢将功能strlen
与trim
if (strlen(trim($a))
如果您希望更快,您可以制作自己的功能
function is_empty($string) {
return (strlen(trim($string)) === 0);
}
如果你只是做一个班轮,那么你可以使用逻辑短路
$a && print ("Goodbye"); // same as $a != ""
或者
$a || print ("Hello World"); // same as $a == ""
这利用了 PHP(和大多数语言)如何优化二元运算符
对于第一种情况,如果 $a 产生一个真值,那么解释器知道它必须检查等式的右侧以确定表达式的结果。
如果它是一个虚假值,那么它不会评估右手边,因为它知道这并不重要。
类似的逻辑适用于 || 陈述
或者
!empty($a) ? (/* if not empty */) : (/* else */);