php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)

时间:2021-11-13 23:42:44

本文实例分析了php字符串比较函数用法。分享给大家供大家参考,具体如下:

直接比较字符串是否完全一致,可以使用"=="来进行,但是有时候可能需要进行更加复杂的字符串比较,如部分匹配等.

1.strcmp()函数:该函数进行字符串之间的比较,在比较的时候,区分大小写.

声明: strcmp(string str1,string str2)  

该函数对传入的两个字符串参数进行比较,如果两个字符串完全相同,则返回0;如果按照字典顺序str1在str2后面,则返回一个正数;如果str1小于str2,则返回一个负数.

例:

?
1
2
3
4
5
6
7
8
9
10
11
<?php
 $a = "i want to fly";
 $b = "i want to climb";
 $back = strcmp($a,$b);
 if($back>0)
  echo '$a大于$b';
 elseif($back<0)
  echo '$a小于$b';
 else
  echo '$a等于$b';
?>

输出结果:

$a大于$b

2.strcasecmp():该函数同strcmp函数基本一致,但是该函数在比较的时候,不区分大小写.

例:

?
1
2
3
4
5
6
<?php
  $val1 = "Hello";
  $val2 = "hello";
  if(strcasecmp($val1,$val2)==0)
  echo '$val1和$val2相同(忽略字符串的大小写)';
?>

输出结果:

$val1和$val2相同(忽略字符串的大小写)

3.自然排序strnatcmp():该函数同strcmp函数用法基本一致,但是比较的原则有所有不同.该函数并不是按照字典顺序排列的,而是按照"自然排序"比较字符串.所谓自然排序就是按照人们的习惯来进行排序,例如strcmp函数来进行排序,"4"会大于"14",而在现实中,数字"14"在大于"4",因此strnatcmp函数是按照后者来进行比较的.

4.strnatcasecmp():该函数同strcasecmp函数用法一致,只是该函数不区分大小写

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