1.弱类型比较
参考 https://www.cnblogs.com/Mrsm1th/p/6745532.html
php中有两种比较的符号 == 与 ===
1 <?php 2 $a = $b ; 3 $a===$b ; 4 ?>
=== 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较
== 在进行比较的时候,会先将字符串类型转化成相同,再比较
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行
这里明确了说如果一个数值和字符串进行比较的时候,会将字符串转换成数值
1 <?php 2 var_dump("admin"==0); //true 3 var_dump("1admin"==1); //true 4 var_dump("admin1"==1) //false 5 var_dump("admin1"==0) //true 6 var_dump("0e123456"=="0e4456789"); //true 7 ?> //上述代码可自行测试
1 观察上述代码,"admin"==0 比较的时候,会将admin转化成数值,强制转化,由于admin是字符串,转化的结果是0自然和0相等 2 "1admin"==1 比较的时候会将1admin转化成数值,结果为1,而“admin1“==1 却等于错误,也就是"admin1"被转化成了0,为什么呢?? 3 "0e123456"=="0e456789"相互比较的时候,会将0e这类字符串识别为科学技术法的数字,0的无论多少次方都是零,所以相等
2.preg_match()函数
实例
查找文本字符串"php":
<?php //模式分隔符后的"i"标记这是一个大小写不敏感的搜索 if (preg_match("/php/i", "PHP is the web scripting language of choice.")) { echo "查找到匹配的字符串 php。"; } else { echo "未发现匹配的字符串 php。"; } ?>
执行结果如下所示:
查找到匹配的字符串 php。
查找单词 "web"
<?php /* 模式中的 标记一个单词边界,所以只有独立的单词"web"会被匹配,而不会匹配 * 单词的部分内容比如"webbing" 或 "cobweb" */ if (preg_match("/web/i", "PHP is the web scripting language of choice.")) { echo "查找到匹配的字符串。 "; } else { echo "未发现匹配的字符串。 "; } if (preg_match("/web/i", "PHP is the website scripting language of choice.")) { echo "查找到匹配的字符串。 "; } else { echo "未发现匹配的字符串。 "; } ?>
执行结果如下所示:
查找到匹配的字符串。
未发现匹配的字符串。