php中比较字符串的大小的方法笔记

原创 PHP笔记  2017-04-24 21:52  阅读 1,254 views 次

php为比较字符串提供了很多方法(函数),比较常用的有三种:第一种是使用strcmp()函数和strcasecmp()函数按字节进行比较;第二种是使用strnatcmp()函数按自然排序法进行比较;第三种是使用strncmp()函数指定源字符串的位置开始比较。

按字节比较字符串

按字节比较字符串一般使用strcmp()函数和strcasecmp()函数来实现,strcmp()函数和strcasecmp()函数的语法一样,它们的区别在于strcmp()函数区分比较字符串的大小写,而strcasecmp()函数不区分大小写。

格式:

strcmp(字符串1,字符串2);
strcasecmp(字符串1,字符串2);

说明:如果字符串1等于字符串2,函数返回值0;如果字符串1大于字符串2,函数返回值大于0;如果字符串1小于字符串2,函数返回值小于0。

实例:

<?php
$str1="abcd";
$str2="abcde";
$str3="Abcd";
echo '参数1等于参数2:'.strcmp($str1,$str1);
echo '</br>参数1小于参数2:'.strcmp($str1,$str2);
echo '</br>参数1大于参数2:'.strcmp($str3,$str1);//区分大小写
echo '</br>参数1等于参数2:'.strcasecmp($str1,$str3);//不区分大小写
echo '</br>参数1小于参数2:'.strcasecmp($str1,$str2);
echo '</br>参数1大于参数2:'.strcasecmp($str2,$str1);
?>

运行结果:

自然排序法比较字符串

自然排序法比较字符串一般使用strnatcmp()函数来实现。自然排序法比较是针对字符串中数字部分,将字符串中的数字部分按大小进行比较。

实例:

<?php
$str1="a10";
$str2="a2";
echo strcmp($str1,$str2);//按字节进行比较,返回-1
echo strnatcmp($str1,$str2);//按自然排序法进行比较,返回1
?>

输出结果:-11

指定从源字符串的位置开始比较

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

格式:

strncmp(字符串1,字符串2,n);

说明:字符串1和字符串2为目标对象,n为比较字符串的n个字符。如果字符串1等于字符串2返回值为0;如果字符串1大于字符串2返回值大于0;如果字符串1小于字符串2返回值小于0。

实例:

<?php
$str1="abcde";
$str2="abde";
echo strncmp($str1,$str2,2);//比较前2个字符
echo strncmp($str1,$str2,3);//比较前3个字符
?>

输出结果:0-1

本文地址:https://www.ggbiji.com/php-compare-character.html
版权声明:本文为 PHP笔记 原创/整理文章,欢迎分享,转载请注明出处!

发表评论


表情