PHP正确if语句?

时间:2013-06-09 19:47:00

标签: php

我写了很多这样的if语句来检查一个空变量,特别是来自mysql,但是有更好的/替代语法吗?

if($a!=""){

5 个答案:

答案 0 :(得分:7)

您可以使用empty()功能

if(!empty($a)) {

答案 1 :(得分:3)

最快的:

if ($a) { /* ... */ }

最有趣的是:

if (isset($a[0])) { /* ... */ }

答案 2 :(得分:1)

语法很正确。

但是" "不是空的,所以你可以查看trim()

我更喜欢将函数strlentrim

结合使用
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 */);