好吧,只是一个简单的问题..
我永远不确定它是什么......有人可以解释一下是什么意思
if($var) { ... }
我们实际上在这里检查什么?!
是的,还有另一个案例:
if (!$var) { ... }
天呐!:)
好吧,只是一个简单的问题..
我永远不确定它是什么......有人可以解释一下是什么意思
if($var) { ... }
我们实际上在这里检查什么?!
是的,还有另一个案例:
if (!$var) { ... }
天呐!:)
这只是检查变量的值。它应该返回,只有一个布尔值。IE。TRUE
或FALSE
。
在你的情况下,(任何情况下)它被解释如下。
if($var){
// means, if $var is set to true, or has any value at all,
// execute the code that goes inside here.
}
if (!$var){
// is the opposite of the first example, it means,
// if $var is set to false, or is empty, not set.. executing this code...
}
下面的示例来自PHP 手册,它将向您展示一些表达式的结果在 PHP 中当评估为布尔结果时将是什么。
<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
这!
意味着一个逻辑,这意味着如果变量的值是或将被 PHP 视为由于松散的类型系统,not
将进入 if 块。FALSE
FALSE
以下值将被视为FALSE
:
FALSE
0
0.0
""
"0"
empty array
NULL
SimpleXML Objects created from empty tags
如果语句
if($var) { ... }
当我们评估一个if
语句时,PHP 将查看if
语句括号内的内容,并尝试将其评估为true
或false
。例如:
if(0 == 0)
{
}
PHP 会检查左边的值,发现它与右边的值完全相等,并有效地换出0 == 0
for true
。所以现在是这样写的:
if(true)
{
}
现在在您的示例中,$var
包含一个布尔值true
or false
。所以以同样的方式,PHP 将换出$var
它包含的值:
$var = false;
if($var)
{
}
if statement
成为if(false) {}
. _ 因此代码没有运行。
这 !操作员
!
否定if 语句中的值,所以和以前一样,假设:
$var = false;
if(!$var){}
现在,PHP 将$var
换成false
..
if(!false)
它会查看运算符!
,然后false
转为true
和true
。false
所以结果会是if(true)
。
除了其他:
$var; // second
// $var = null; // second
// $var = -1; // first
// $var = 0; // second
// $var = 1; // first
// $var = 'hey!'; // first
// $var = ''; // second
// $var = true; // first
// $var = false; // second
// $var = array(); // second
// $var = array('one','two'); // first
if ( $var ) echo 'first';
if ( !$var ) echo 'second';