PHP strcmp,strnatcmp,strncmp函数的区别

本文详细介绍了PHP中三种常用的字符串比较函数:strcmp用于普通字符比较;strnatcmp采用自然排序算法进行比较;strncmp则用于比较字符串前n个字符。并给出了具体的代码示例。

字符串比较说明
当s1<s2时,返回为负数
当s1=s2时,返回值= 0
当s1>s2时,返回正数

 1 <?php
 2 $str1 = 'str100';
 3 $str2 = 'str20';
 4 echo strcmp($str1, $str2)."<br>";
 5 //输出-1
 6 echo strnatcmp($str1, $str2)."<br>";
 7 //输出1
 8 echo strncmp($str1, $str2, 5)."<br>";
 9 //输出-1
10 
11 ?>

strcmp(str1, str2)函数按照字符比较两个字符串,即两个字符串自左向右逐个字符比较(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:"A"<"B" "a">"A" "computer">"compare"

strnatcmp(str1, str2)函数使用自然排序算法比较字符串该函数实现了以人类习惯对数字型字符串进行排序的比较算法,这就是“自然顺序”。

strncmp(str1, str2, len)函数比较的原理参照strcmp(str1, str2)函数,区别在于只是比较字符串的开头的len个字符。

ps:以上三个函数都是区分大小写的,若是对比较的字符串不区分大小写,则有另外三个类似函数:strcasecmp,strnatcasecmp,strncasecmp.

转载于:https://www.cnblogs.com/TimeStory/p/4002816.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值