1.全等于不仅要求变量的值相同,还需类型相同。如下例
<?php $a=10; $b=‘10‘; var_dump($a==$b,$a===$b); ?>
输出结果是bool(true) bool(false),这就体现出了==和===的区别。
2.关于一个全等于的例子,请看如下代码
<?php $str=‘hyper‘; $s=‘h‘; if(strpos($str,$s)==false) { echo $s.‘不存在于‘.$str.‘之中‘; } else { echo $s.‘存在于‘.$str.‘之中‘; } ?>
输出结果是(h不存在于hyper之中),这就奇怪了,h明明就在hyper之中,然而输出结果却不是。仔细观察,发现h是hyper的第一个字母,所以strpos()函数的输出结果是0,0与false作==运算,结果0就强制转换成布尔值false,当然就不对了,要想防止这种情况,我们采用===,这样不仅比较值,也比较类型,就不会出错了。改正后,如下
<?php $str=‘hyper‘; $s=‘h‘; if(strpos($str,$s)===false) { echo $s.‘不存在于‘.$str.‘之中‘; } else { echo $s.‘存在于‘.$str.‘之中‘; } ?>
输出结果是(h存在于hyper之中)。
时间: 2024-10-29 02:06:55