我写了很多这样的if语句来检查一个空变量,特别是来自mysql,但是有更好的/替代语法吗?
if($a!=""){
答案 0 :(得分:7)
您可以使用empty()
功能
if(!empty($a)) {
答案 1 :(得分:3)
最快的:
if ($a) { /* ... */ }
最有趣的是:
if (isset($a[0])) { /* ... */ }
答案 2 :(得分:1)
语法很正确。
但是" "
不是空的,所以你可以查看trim()
。
我更喜欢将函数strlen
与trim
if (strlen(trim($a))
如果您想加快速度,可以自己动手
function is_empty($string) {
return (strlen(trim($string)) === 0);
}
答案 3 :(得分:0)
如果您只是做一个班轮,那么您可以使用逻辑短路
$a && print ("Goodbye"); // same as $a != ""
或
$a || print ("Hello World"); // same as $a == ""
这利用了PHP(和大多数语言)如何优化二元运算符
对于第一种情况,如果$ a导致truthy值,那么解释器知道它必须检查等式的右边以确定表达式的结果。
如果它是一个假值,那么它不会评估右侧,因为它知道它无关紧要。
类似的逻辑适用于||声明
答案 4 :(得分:0)
或者
!empty($a) ? (/* if not empty */) : (/* else */);