HOWTO · PHP

PHP 中的真假

本教程将布尔值放在透视图中。它还演示了如何处理真/假以及在 PHP 中构建布尔逻辑的最佳实践。

本页内容

boolean 值在 php.ini 中称为 true 和 false。在 true 的情况下,输出是 1。

使用 false 时,它不显示任何输出。值得注意的是,浏览器总是以字符串的形式呈现这些值。

在 PHP 中使用 true 和 false 作为布尔逻辑值

布尔值是逻辑值。它们可以是真或假。

两者在 php 中都是区分大小写的,也是 php 中的简单数据类型。

     $true = True; //  returns 1 
     $false = False; // return nothing 
  echo $true.PHP_EOL;
  echo $false;
        //using comparision operator to check boolean values
if ($a == "abc") {
    echo "return boolean value"; //returns nothing since $a is not equal to abc thus it is a false
                 }
if (TRUE) {
	//because true means true
    echo "Your condition is executed!".PHP_EOL;   
          }
if (false) {
    echo "It will print nothing"; //false returns nothing
           }
//Determine integer comparisions with boolean values
echo 5<10; //returns 1 since 5 is actually less ten (condition true)
echo 10 != 5; //returns 1 (true)
echo 5 == 4; //false

输出:

1 
Your condition is executed!
11

在 PHP 中使用 var_dump() 函数确定布尔值

我们还可以在 php.ini 中转换布尔值。让我们首先了解这些参数的一些预定义值分配。

如果我们将以下值转换为布尔值,它们将被视为假:

  • false 是 false。
  • 0 也是 false。
  • 诸如 0.0 和 -0.0 之类的浮点数也是 false。
  • 具有 0 元素的数组是 false。
  • NULL 是 false。

相反,所有其他值都被认为是 true。

我们可以借助转储布尔值信息的 var_dump() 函数来确定布尔值。

让我们用 var_dump 检查上面提到的错误类型:

<?php
var_dump((bool) false);        //(false)
var_dump((bool) "0");           //(false)
var_dump((bool) 0.0);        //(false)
var_dump((bool) -0.0);      //(false)
var_dump((bool) NULL);     //(false)
var_dump((bool) array()); //(false)
//true bools (a few examples)
var_dump((bool)true);            //true
var_dump((bool)1);              //true
var_dump((bool)100);           //true
var_dump((bool) array(65));   //true
?>

输出:

bool(false)
bool(false)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)