PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)

yipeiwu_com7年前PHP代码库

本文实例讲述了PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法。分享给大家供大家参考,具体如下:

PHP中strnatcmp()函数使用"自然"算法来比较两个字符串(区分大小写),通常在自然算法中,数字 2 小于数字 10。而在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2

strnatcmp()函数的定义如下:

strnatcmp(string1,string2)

参数说明:

string1  必需。规定要比较的第一个字符串。
string2  必需。规定要比较的第二个字符串。

返回值说明:

如果两个字符串相等,则返回值为 0
如果 string1 小于 string2,则返回值小于0
如果 string1 大于 string2,则返回值大于0

示例代码如下:

<?php
 $str1="2.jpg";
 $str2="10.jpg";
 $str3="jb51.net_1";
 $str4="JB51.NET_2";
 echo strcmp($str1,$str2);//按字节进行比较,返回1
 echo "<br/>";
 echo strcmp($str3,$str4);//按字节进行比较,返1
 echo "<br/>";
 echo strnatcmp($str1,$str2);//按"自然排序"法进行比较,返回-1
 echo "<br/>";
 echo strnatcmp($str3,$str4);//按"自然排序"法进行比较,返回1
?>

运行结果如下:

1
1
-1
1

更多关于PHP字符串操作相关内容可查看本站专题:《php字符串(string)用法总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

浅谈php的TS和NTS的区别

ts(Thread-Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据...

完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题

完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题

最近用zend studio7.2 遇到个问题,就是打开内容很多的php页面(>500行)时,编辑保存速度奇慢。根据网络上google到的资料 ,更改了content Assist...

PHP经典设计模式之依赖注入定义与用法详解

本文实例讲述了PHP经典设计模式之依赖注入定义与用法。分享给大家供大家参考,具体如下: 依赖注入的实质就是把一个类不可能更换的部分和可更换的部分分离开来,通过注入的方式来使用,从而达到解...

PHP快速排序算法实现的原理及代码详解

PHP快速排序算法实现的原理及代码详解

算法原理 下列动图来自五分钟学算法,演示了快速排序算法的原理和步骤。 步骤: 从数组中选个基准值 将数组中大于基准值的放同一边、小于基准值的放另一边,基准值位于中间位置 递归的对分...

PHP中将数组转成XML格式的实现代码

下面是网上的 复制代码 代码如下: class ArrayToXML { /** * The main function for converting to an XML documen...