PHP基础-比较

admin 2025年6月23日14:43:23评论26 views字数 1085阅读3分37秒阅读模式
数据类型的比较

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

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。

  • 严格比较:用三个等号(全等) === 比较,除了比较值,也比较类型。

例如,"42" 是一个字符串而 42 是一个整数。false 是一个布尔值而 "false" 是一个字符串。

<?phpif(42=="42") {echo'1、值相等';}echoPHP_EOL// 换行符if(42==="42") {echo'2、类型相等';else {echo'3、类型不相等';}?>
PHP基础-比较
比较undefined、 0、false、null、空值
 isset() is_null() empty()的区别

isset() 和 is_null() 都用于判断变量的状态,但它们的功能和行为是不同的。

isset() 函数判断变量是否 存在 且 值不为 null

is_null() 函数判断变量的值是否为 null,如若变量未定义则返回true。

empty() 函数判断一个变量是否是“空”的。判定为“空”的情况包括:

""(空字符串)

0(整数 0)

"0"(字符串 0)

nullfalse

array()(空数组)

未定义变量

<?php$a=null;$b=0;var_dump(isset($a)); // false(因为 $a 是 null)var_dump(isset($b)); // true($b 存在且不为 null)var_dump(isset($c)); // false($c 未定义)var_dump(is_null($a)); // true(因为 $a 是 null)var_dump(is_null($b)); // false($b 存在且不为 null)var_dump(is_null($c)); //true($c 未定义)//empty() 不会报错,即使变量未定义,也会安全地返回 truevar_dump(empty($a)); // true(因为 $a 是 null)var_dump(empty($b)); // true($b 存在且为0)var_dump(empty($c)); //true($c 未定义)?>
PHP基础-比较
值得注意的是is_null()在碰到未定义的变量时会返回true,但是会产生警告。而empty()及时变量未定义也会安全地返回true,不会产生报警。

0x0 每日资源分享

夸克网盘「PHP项目实战教程」链接:https://pan.quark.cn/s/4a16c67edbd2

原文始发于微信公众号(风铃情报站):PHP基础-比较

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月23日14:43:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PHP基础-比较https://cn-sec.com/archives/4190876.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息