>首页> IT >

速读:php比较字符串的函数是什么

时间:2022-08-31 19:46:24       来源:PHP中文网

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php内置了多种字符串比较函数

函数描述
strcasecmp()比较两个字符串(大小写不敏感)。
strcmp()比较两个字符串(大小写敏感)。
strcoll()比较两个字符串(根据本地设置)。
strnatcasecmp()使用一种"自然排序"算法来比较两个字符串(大小写不敏感)。
strnatcmp()使用一种"自然排序"算法来比较两个字符串(大小写敏感)。
strncasecmp()前 n 个字符的字符串比较(大小写不敏感)。
strncmp()前 n 个字符的字符串比较(大小写敏感)。
substr_compare()从指定的开始位置(二进制安全和选择性区分大小写)比较两个字符串。

常用字符串比较函数


(资料图片)

1、strcmp()函数--以区分大小写的方式比较两个字符串

strcmp(string1,string2)比较两个字符串时,如果:

如果两个字符串相等,则会返回0

如果string1 小于 string2,则会返回< 0的值;

如果string1 大于 string2,则会返回> 0的值;

我们先来看下面一个例子:

";$str1="12";$str2="13";echo strcmp($str1,$str2)."
";$str1="15";$str2="13";echo strcmp($str1,$str2)."
";?>

输出:

strcmp()函数在比较字符串时,是区分大小写的。

";?>

输出结果:

-1

借助这个特性,我们可以将其运用在网站注册账号时的确认用户密码功能中(密码通常是区分大小写的),比较两次输入的密码是否一致。

只有两个字符串完全匹配,strcmp()函数才会认为相等的;而在上面示例中,$pwd1 和 $pwd2的大小写不同,因此两个字符串不相等。

但有时,我们只需要比较字符串的值,不想区分大小写,例如比较网站的网址,那要怎么处理?简单,可以使用strcasecmp()函数。

2、strcasecmp()函数--以不区分大小写的方式比较两个字符串

strcasecmp()函数和strcmp()函数类似,都可比较字符串,返回值也相同,区别只是strcasecmp()函数不区分大小写。

下面我们来看看下面一个例子:

输出结果:

两个网址相同

3、strncasecmp()函数--大小写不敏感

strncasecmp() 函数比较两个字符串(不区分大小写)。语法如下

strncasecmp(string1,string2,length)
参数描述
string1必需。规定要比较的第一个字符串。
string2必需。规定要比较的第二个字符串。
length必需。规定每个字符串用于比较的字符数。

返回值:

0 - 如果两个字符串相等

<0 - 如果 string1 小于 string2

>0 - 如果 string1 大于 string2

示例:

输出:

0

4、strnatcasecmp()函数--大小写不敏感

strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。

在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。

语法:

strnatcasecmp(string1,string2)

返回值:

0 - 如果两个字符串相等

<0 - 如果 string1 小于 string2

>0 - 如果 string1 大于 string2

示例:

";echo strnatcasecmp("10Hello world!","2Hello WORLD!");?>

输出:

-11

5、strncmp()函数--大小写敏感

strncmp() 函数比较两个字符串(区分大小写)。

该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。

strncmp(string1,string2,length)
参数描述
string1必需。规定要比较的第一个字符串。
string2必需。规定要比较的第二个字符串。
length必需。规定每个字符串用于比较的字符数。

返回值和strcmp() 函数一样

推荐学习:《PHP视频教程》

以上就是php比较字符串的函数是什么的详细内容,更多请关注php中文网其它相关文章!

关键词: 区分大小写 大小写不敏感 不区分大小写