! (NULL | | 0 |';';)如果同时在PHP中使用条件
如果我想检查变量,我需要执行以下操作:! (NULL | | 0 |';';)如果同时在PHP中使用条件,php,if-statement,Php,If Statement,如果我想检查变量,我需要执行以下操作: if ( $i != '' || $i != 0 || $i != NULL ) { // ...do some code } 这3个检查是否可以通过某种php函数或技巧以某种方式合并为1 if (!empty($i)) { // ... do some code } 请看 请参见所有这些实际上都是falsey。所以你可以 if(!$i) { } 我可能应该详细说明为什么OP有一些不好的假设。PHP将评估为false的内容列表很
if ( $i != '' || $i != 0 || $i != NULL ) {
// ...do some code
}
这3个检查是否可以通过某种php函数或技巧以某种方式合并为1
if (!empty($i)) {
// ... do some code
}
请看
请参见所有这些实际上都是falsey。所以你可以
if(!$i) {
}
我可能应该详细说明为什么OP有一些不好的假设。PHP将评估为false
的内容列表很长
转换为布尔值时,以下值被视为FALSE:
- 布尔值本身是假的
- 整数0(零)
- 浮动0.0(零)
- 空字符串和字符串“0”
- 零元素数组
- 特殊类型NULL(包括未设置的变量)
- 从空标记创建的SimpleXML对象
if ( $i != '' || $i != 0 || $i != NULL )
这三个测试实际上是相同的。以这个密码为例
$i = 0;
if($i == '') {
echo 'true';
}
if($i == 0) {
echo 'true';
}
if($i == NULL) {
echo 'true';
}
这三种说法都会相互呼应。因此,如果您想知道$i
是否实际为NULL
或false
,而不是0
(并将两者都返回),则必须使用不同的运算符=
用于查看两者是否相等,而不仅仅是相等
$i = 0;
if($i == NULL) {
echo 'true'; //This will succeed
}
if($i === NULL) {
echo 'true'; //This will NOT succeed
}
它们实际上都是
false
y。所以你可以
if(!$i) {
}
我可能应该详细说明为什么OP有一些不好的假设。PHP将评估为false
的内容列表很长
转换为布尔值时,以下值被视为FALSE:
- 布尔值本身是假的
- 整数0(零)
- 浮动0.0(零)
- 空字符串和字符串“0”
- 零元素数组
- 特殊类型NULL(包括未设置的变量)
- 从空标记创建的SimpleXML对象
if ( $i != '' || $i != 0 || $i != NULL )
这三个测试实际上是相同的。以这个密码为例
$i = 0;
if($i == '') {
echo 'true';
}
if($i == 0) {
echo 'true';
}
if($i == NULL) {
echo 'true';
}
这三种说法都会相互呼应。因此,如果您想知道$i
是否实际为NULL
或false
,而不是0
(并将两者都返回),则必须使用不同的运算符=
用于查看两者是否相等,而不仅仅是相等
$i = 0;
if($i == NULL) {
echo 'true'; //This will succeed
}
if($i === NULL) {
echo 'true'; //This will NOT succeed
}
对empty()将起作用。请看这里,您应该发布一个答案@JacobWait。。。。$i可以同时是这三个(“”,0,NULL)吗??这个if语句看起来总是正确的。@miliesmith Good point,我通常不会使用或与
一起使用=
如果查询数据库并在列中作为字符串检查NULL
,则这可能会有所不同。是!empty()将起作用。请看这里,您应该发布一个答案@JacobWait。。。。$i可以同时是这三个(“”,0,NULL)吗??这个if语句看起来总是正确的。@miliesmith Good point,我通常不会使用或与一起使用=
如果您查询数据库并在列中作为字符串检查NULL
,这可能会有所不同。@user2989475我必须检查,但是yes@user2989475是的,它将键入convert。我在上面的评论中发布的链接包含了empty可以使用的所有项目。“0”是其中之一。@user2989475我必须检查,但是yes@user2989475是的,它将键入convert。我在上面的评论中发布的链接包含了empty可以使用的所有项目。“0”是其中之一。