php中有没有字符串比较方法(php,编程语言)

时间:2024-05-03 15:25:41 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

php中有字符串比较方法。php内置了多种字符串比较方法:strcasecmp()、strcmp()、strcoll()、strnatcasecmp()、strnatcmp()、strncasecmp()、strncmp()等。

php中有没有字符串比较方法

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

php中有字符串比较方法。

php内置了多种字符串比较方法:

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

1. 按照字节进行字符串的比较

按照字节进行字符串的比较方法有两种,分别是利用 strcmp()函数和 strcasecmp()函数。 这两种函数的区别是 strcmp()函数区分字符的大小写,而strcasecmp()函数不区分字符的大小写。由于这两个函数的实现方法基本相同,这里只是拿出其中的 strcmp()函数来进行一下介绍。

strcmp()函数用来对两个字符串按字节进行比较。

语法格式如下:

strcmp(string1,string2)

注意 该函数区分字母大小写。参数string1 和 参数string2 指定要比较的两个字符串。如果相等则函数返回值为0;如果参数 string1 大于参数 string2,则函数返回值大于0;如果参数 string1 小于参数 string2,则函数返回值小于0。

使用 srtcmp()函数和 strcasecmp()函数分别对两个字符串按字节进行比较,代码实例如下:

<?php$str1="PHP学习手册!";//定义字符串常量$str2="PHP学习手册!";//定义字符串常量$str3="phpcn";//定义字符串常量$str4="PHPCN";//定义字符串常量echostrcmp($str1,$str2);//这两个字符串相等echostrcmp($str3,$str4);//注意该函数区分大小写echostrcasecmp($str3,$str4);//该函数不区分大小写?>

输出结果为:

010

说明: 在PHP中,对字符串之间进行比较的应用是非常广泛的。比如,使用strcmp()函数比较在用户登录体统中输入的用户名和密码是否正确,如果在验证用户和密码时不用此函数,那么输入用户名和密码无论是大写还是小写,只要正确即可登录。使用了 srtcmp()函数之后就避免了这种情况,及时正确,也必须大小写全部匹配才可以登录,从而提高了网站的安全性。

2. 按自然排序法进行字符串的比较

在PHP中,按照自然排序法进行字符串的比较是通过使用 strnatcmp()函数来实现的。自认排序法比较的是字符串的数字部分,将字符串中的数字按照大小进行比较。它的语法是如下的格式:

strnatcmp(string1,string2)

提示: 该函数区分字母大小写。如果参数string1 和 参数string2相等则函数返回值为0;如果参数 string1 大于参数 string2,则函数返回值大于0;如果参数 string1 小于参数 string2,则函数返回值小于0。

注意:在自然运算法则中,2比10小,然而在计算机的序列中,10比2小,因为"10" 中的第一个数字是“1”,它是小于“2”的。

使用 strnatcmp()函数按照自然排序法进行字符串的比较的实例代码如下所示:

<?php$str1="inter2.jpg";//定义字符串常量$str2="inter10.jpg";//定义字符串常量$str3="phpcn1";//定义字符串常量$str4="PHPCN2";//定义字符串常量echostrnatcmp($str1,$str2);//按自然排序法进行比较,返回-1echostrnatcmp($str3,$str4);//按自然排序法进行比较,返回1?>

输出的结果为:

-11

说明: 按照自认排序法进行比较,还可以使用另一个与 strnatcmp()函数作用相同,但不区分大小的strnatcasecmp()函数。

3. 指定从源字符串位置开始比较的函数

strncmp()函数用来比较字符串中的前n个字符。

它的语法是如下的格式:

strncmp(string1,string2,length)

它的参数说明如下:如果参数string1 和 参数string2相等则函数返回值为0;如果参数 string1 大于参数 string2,则函数返回值大于0;如果参数 string1 小于参数 string2,则函数返回值小于0。该函数区分字母大小写。

参 数说 明string1指定参与比较的第一个字符串对象string2指定参与比较的第二个字符串对象length必要参数,指定每个字符串中参与比较字符串的数量

使用strncmp()函数比较字符串的前两个字符是否与源字符串相等,其实例代码如下所示:

<?php$str1="Ilikethis";//定义字符串常量$str2="istudyphp";//定义字符串常量echostrncmp($str1,$str2,2);//比较前两个字符?>

输出结果为:

-1

注释:从上面的代码中可以看出,由于变量$str2 中的字符串的首字母为小写,与变量$str1 中的字符串不匹配,所以两个字符串比较过后的函数返回值为 -1。


 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:php中有没有字符串比较方法的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:es6遍历数组有哪些方法下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18