好,只是一个简单的问题..的声明,如果在条件只有一个变量
我从来不敢肯定它是什么......可以请人给我解释一下
if($var) { ... }
是什么我们真的在这里检查?!
是的,另一种情况也:
if (!$var) { ... }
TNX! :)
好,只是一个简单的问题..的声明,如果在条件只有一个变量
我从来不敢肯定它是什么......可以请人给我解释一下
if($var) { ... }
是什么我们真的在这里检查?!
是的,另一种情况也:
if (!$var) { ... }
TNX! :)
这只是关于检查变量的值。它应该返回,只有一个布尔值。即。 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 manual,并会告诉你,一些表达式的结果会是什么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)
听起来很合理.. :) – Adrian
的!
装置的逻辑not
,这意味着如果块将被如果变量具有将由PHP作为FALSE
待处理的FALSE
或的值由于松散打字系统正输入。
下面的值将是treated as 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
的true
。所以,现在有这么一句话:
if(true)
{
}
现在用你的榜样,$var
包含任何true
或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';
这意味着该变量是一个布尔值,或者相当于一个布尔值;因为'if'基本上只是对TRUE或FALSE的测试 –
想象一下'$ var = true;'或'$ var = false;'。 –
我很欣赏社区和版主的努力,但我可以问为什么这个问题关闭了吗?对我来说这似乎相当不错,我真的不认为它含糊不清,谢谢。 – Mahdi