2

好吧,只是一个简单的问题..

我永远不确定它是什么......有人可以解释一下是什么意思

if($var) { ... }

我们实际上在这里检查什么?!

是的,还有另一个案例:

if (!$var) { ... }

天呐!:)

4

5 回答 5

10

这只是检查变量的值。它应该返回,只有一个布尔值。IE。TRUEFALSE

在你的情况下,(任何情况下)它被解释如下。

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)
于 2013-06-02T21:34:34.020 回答
1

我同意phpNoOb。它用于检查是否$var为 TRUE/FALSE,还用于检查是否已将值分配给$var. 好问题阿德里安

于 2013-06-02T21:41:18.627 回答
0

!意味着一个逻辑,这意味着如果变量的值是将被 PHP 视为由于松散的类型系统,not将进入 if 块。FALSE FALSE

以下值将被视为FALSE

FALSE
0
0.0
""
"0"
empty array 
NULL
SimpleXML Objects created from empty tags
于 2013-06-02T21:37:38.943 回答
0

如果语句

if($var) { ... }

当我们评估一个if语句时,PHP 将查看if语句括号内的内容,并尝试将其评估为truefalse。例如:

if(0 == 0)
{
}

PHP 会检查左边的值,发现它与右边的值完全相等,并有效地换出0 == 0for true。所以现在是这样写的:

if(true)
{
}

现在在您的示例中,$var包含一个布尔值trueor false。所以以同样的方式,PHP 将换出$var它包含的值:

$var = false;
if($var)
{
}

if statement成为if(false) {}. _ 因此代码没有运行。

这 !操作员

! 否定if 语句中的值,所以和以前一样,假设:

$var = false;

if(!$var){}

现在,PHP 将$var换成false..

if(!false)

它会查看运算符!,然后false转为truetruefalse所以结果会是if(true)

于 2013-06-02T21:38:06.960 回答
0

除了其他:

$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';
于 2013-06-02T21:44:21.323 回答