如果语句只有条件变量

时间:2013-06-02 21:32:16

标签: php

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

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

if($var) { ... }

我们在这里检查的是什么?!

是的,另一个案例也是:

if (!$var) { ... }

TNX! :)

5 个答案:

答案 0 :(得分:9)

只是检查变量的值。它应该返回它,只是一个布尔值。即。 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 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)

答案 1 :(得分:1)

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

答案 2 :(得分:0)

!表示逻辑not,表示如果变量的值为FALSE ,则会输入if块。由于输入系统松散,PHP为FALSE

以下值为treated as FALSE

FALSE
0
0.0
""
"0"
empty array 
NULL
SimpleXML Objects created from empty tags

答案 3 :(得分:0)

如果陈述

if($var) { ... }

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

if(0 == 0)
{
}

PHP将检查左侧的值,发现它完全等于右侧的值,并有效地换出0 == 0 true。现在它的内容如下:

if(true)
{
}

现在,以您的示例为例,$var包含布尔值truefalse。因此,以同样的方式,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)

答案 4 :(得分: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';