PHP 类型比较

05 Php学习:类型比较、常量_学习

虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。

例如,“42” 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 “FALSE” 是一个字符串。

<?php
if(42 == "42") {
    echo '1、值相等';
}
 
echo PHP_EOL; // 换行符
 
if(42 === "42") {
    echo '2、类型相等';
} else {
    echo '3、类型不相等';
}
?>

PHP中 比较 0、false、null

在 PHP 中,比较 0、false 和 null 时,它们之间的关系是不同的。以下是它们之间比较的一些重要点:

  1. 比较 0 和 false
  • 当使用 == 操作符进行比较时,0 和 false 在弱类型比较下会被视为相等。
var_dump(0 == false); // 输出 bool(true)
  • 由于 PHP 是弱类型语言,所以在大多数情况下,0 和 false 被视为等效的值。但在全等比较 === 下,它们被视为不同的值。
  1. 比较 0 和 null
  • 0 和 null 之间的比较在弱类型下不会相等。
var_dump(0 == null); // 输出 bool(false)
  • 0 和 null 是不同的数据类型,0 是整数类型,而 null 是表示“无值”的特殊类型。
  1. 比较 false 和 null
  • false 和 null 之间的比较在弱类型下也不会相等。
var_dump(false == null); // 输出 bool(false)
  • false 表示逻辑上的假值,而 null 表示“无值”,它们代表不同的数据状态。

0、false 和 null 代表了不同的概念和数据类型,在比较时需要根据具体的情况进行区分。弱类型比较中,0 和 false 可能被认为是相等的,但在其他情况下它们是不相等的;而 0 和 null、以及 false 和 null 在任何情况下都不会被视为相等。在进行比较时,应根据实际需求和数据的语义来选择使用适当的比较操作符。

05 Php学习:类型比较、常量_php_02

05 Php学习:类型比较、常量_学习_03

常量

常量值被定义后,在脚本的其他任何地方都不能被改变。

常量是一个简单值的标识符。该值在脚本中不能改变。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

注意: 常量在整个脚本中都可以使用。

设置 PHP 常量

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感,默认是大小写敏感的。

注意:自 PHP 7.3.0 开始,定义不区分大小写的常量已被弃用。从 PHP 8.0.0 开始,只有 false 是可接受的值,传递 true 将产生一个警告。

常量是全局的

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。

以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。

<?php
define("GREETING", "欢迎访问 baidu.com");
 
function myTest() {
    echo GREETING;
}
 
myTest();    // 输出 "欢迎访问 baidu.com"
?>

关注我,不迷路,共学习,同进步

关注我,不迷路,共学习,同进步

05 Php学习:类型比较、常量_android_04