PHP弱类型
Posted so7cool
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP弱类型相关的知识,希望对你有一定的参考价值。
0x01 php中的两种比较符号
1 <?php 2 var_dump(‘admin‘==0); //true 3 var_dump(‘1admin‘==1); //true 4 var_dump(‘admin1‘==1); //false 5 var_dump(‘adminm1‘==0); //true 6 var_dump(0e154 == 0e524); //false 7 var_dump(0 === ‘abdefg‘); //true 8 ?>
当我们使用‘ == ‘进行比较时,会将字符串类型转换成数字型再进行比较,只比较转换后的数值的大小
a.当字符串中不存在数字的时候会把字符串会转换成数值0,参考第二行代码。
b.当字符串的开始部分有合法数值时,会把该字符串转换成该合法数值,参考第三行代码。
c.当字符串存在合法数值时但合法数值不在开始部分,那么字符串仍然会转换成数值0,参考第四和五行代码。
d.当字符串中包含‘e‘或‘E‘时,系统会将其识别为科学记数法,0^n均为0,参考第六行代码。
当我们使用‘ === ‘进行比较时,会比较较二者的类型和数值。简而言之, ‘===‘ 是一个全等符合,如果$a=== $b ,我们可以判断a和b的数值和类型完全相等。
以上是关于PHP弱类型的主要内容,如果未能解决你的问题,请参考以下文章