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 时,它们之间的关系是不同的。以下是它们之间比较的一些重要点:
- 比较 0 和 false:
- 当使用
==
操作符进行比较时,0 和 false 在弱类型比较下会被视为相等。
- 当使用
var_dump(0 == false); // 输出 bool(true)
- 由于 PHP 是弱类型语言,所以在大多数情况下,0 和 false 被视为等效的值。但在全等比较
===
下,它们被视为不同的值。
- 比较 0 和 null:
- 0 和 null 之间的比较在弱类型下不会相等。
var_dump(0 == null); // 输出 bool(false)
- 0 和 null 是不同的数据类型,0 是整数类型,而 null 是表示“无值”的特殊类型。
- 比较 false 和 null:
- false 和 null 之间的比较在弱类型下也不会相等。
var_dump(false == null); // 输出 bool(false)
- false 表示逻辑上的假值,而 null 表示“无值”,它们代表不同的数据状态。
0、false 和 null 代表了不同的概念和数据类型,在比较时需要根据具体的情况进行区分。弱类型比较中,0 和 false 可能被认为是相等的,但在其他情况下它们是不相等的;而 0 和 null、以及 false 和 null 在任何情况下都不会被视为相等。在进行比较时,应根据实际需求和数据的语义来选择使用适当的比较操作符。
常量
常量值被定义后,在脚本的其他任何地方都不能被改变。
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使用。
设置 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"
?>
关注我,不迷路,共学习,同进步
关注我,不迷路,共学习,同进步