基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2015-01-24信息快讯网
本篇文章是对PHP字符串的比较函数strcmp()与strcasecmp()的使用进行了详细的分析介绍,需要的朋友参考下
使用“===”来判断,至于它和“==”的区别,简单来说就是前者强调“identical(相同的,完全相同)”类型也要求一样;后者要求“equal(相等)”,值相同就可以了。或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在哪里不同。
一般能用 !=, == 比较两个对象是否相等,之所以说是两个对象,是因为他们不一定全部为字符串,也能为整型等等。比如
$a = "joe"; $b = "jerry"; if ($a != $b) { echo "不相等"; } else { echo "相等"; }
如果用 !== , === 比较的话,两个对象的类型要严格相等才能返回true;否则用==,!=则会将字符串自动转换成相应的类型,以便进行比较.
22 == "22"; // 返回 true 22 === "22"; // 返回falsePHP 用于字符串比较的函数:strcmp(),strcasecmp(),strncasecmp(), strncmp(),他们都是 如果前者比后者大,则返回大于0 的整数;如果前者比后者小,则返回小于0 的整数;如果两者相等,则返回0. 1)strcmp是用于 区分大小写 (即大小写敏感)的字符串比较: 2)echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b" 3)strcasecmp用于不区分大小写的字符串比较: 4)echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e" strncmp用于比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度: echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc strncasecmp用于不区分大小写的比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度: echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。 更有一种情况是单单比较字符串大小,达不到我们预定的需求,比如照常理 10.gif 会比 5.gif 大,但如果应用上面几个函数,就会返回 -1,即表示 10.gif比5.gif,针对这种情况,php提供了两个自然对比的函数strnatcmp,strnatcasecmp: echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0) echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
php strnatcmp()函数的用法总结
php中读写文件与读写数据库的效率比较分享
PHP字符串长度计算 - strlen()函数使用介绍
php mysql_real_escape_string函数用法与实例教程
php中利用str_pad函数生成数字递增形式的产品编号
php stream_get_meta_data返回值
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
比较strtr, str_replace和preg_replace三个函数的效率
解析php addslashes()与addclashes()函数的区别和比较
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
深入Apache与Nginx的优缺点比较详解
PHP无法访问远程mysql的问题分析及解决
解析dedecms空间迁移步骤详解
Zend的Registry机制的使用说明
Mysql中分页查询的两个解决方法比较
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
『PHP』PHP截断函数mb_substr()使用介绍
str_replace只替换一次字符串的方法
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
比较简单的百度网盘文件直链PHP代码
PHP中函数rand和mt_rand的区别比较
PHP以及MYSQL日期比较方法
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
PHP中3种生成XML文件方法的速度效率比较
PHP 中关于ord($str)>0x80的详细说明
PHP strncasecmp字符串比较的小技巧