PHP strcmp()
函数它用于比较两个字符串。区分大小写,即大小写敏感。
此函数比较两个字符串并判断一个字符串是否大于、小于或等于另一个字符串。strcmp()
函数是二进制安全的。
语法
strcmp($str1, $str2);
参数
strcmp()函数接受两个字符串参数,且都不可以为空。以下参数说明如下。
- $str1 - 指定要比较的第一个字符串。
- $str2 - 指定要比较的第二个字符串。
返回值
此函数根据比较结果返回相应的整数值。
- 返回值 0 - 如果两个字符串相等,则返回 0,即 $str1 = $str2
- 返回值<0 - 如果 string1 小于 string2 则返回负值,即 $str1 <$str2
- 返回值>0 - 如果 string1 大于 string 2,则返回正值,即 $str1> $str2
注意:它计算字符串的 ASCII 值,然后比较两个字符串以检查它们是否相等
strcoll()和strcmp()函数的区别
strcoll()
和strcmp()
都是字符串比较函数,但它们之间略有不同。
strcoll() 获取字节并使用语言环境对其进行转换,然后比较结果,而 strcmp() 一个接一个地获取字符串的字节,然后比较它们。
示例
介绍几个例子,了解PHP strcmp()
函数的使用方法。
示例1
<?php
$str1 = "hello php";
$str2 = "hello php";
echo strcoll($str1, $str2). " 两个字符串相等 ";
echo " </br>";
echo strcoll("Hello world", "Hello"). " 第一个字符串大于第二个字符串";
?>
输出:
0 两个字符串相等
6 第一个字符串大于第二个字符串
6 第一个字符串大于第二个字符串
备注:第二个字符串返回值 6,因为第一个字符串比第二个字符串大 6 个字符,包括空格。
示例2
<?php
echo strcoll("Hello world", "hello"). " 第一个字符串小于第二个字符串";
echo "</br>";
echo strcoll("hello", "Hello"). " 第一个字符串大于第二个字符串.";
?>
输出:
-1 第一个字符串小于第二个字符串
1 第一个字符串大于第二个字符串
1 第一个字符串大于第二个字符串
示例3
<?php
echo strcmp("Hello ", "HELLO"). " 第一个字符串大于第二个字符串";
echo "</br>";
echo strcmp("Hello world", "Hello world Hello"). " 第一个字符串小于第二个字符串";
?>
输出:
1 第一个字符串大于第二个字符串
-6 第一个字符串小于第二个字符串
-6 第一个字符串小于第二个字符串
备注: 第二个字符串比较返回 -6 因为第一个字符串比第二个字符串小 6 个字符,包括空格。
String1 | String2 | 输出 | 说明 |
---|---|---|---|
Hello | Hello | 0 | 两个字符串相同且相等l. |
Hello | hello | -1 | String1 |
hello | Hello | 1 | String1> String2,因为 H 的 ASCII 值是 72,h 是 104,所以 H |
Hello PHP | Hello | 4 | String1> String2 因为 String1 比 String2 大 6 个字符,包括空格。 |
hello | Hello PHP | 1 | String1> String2 因为 H 的 ASCII 值是 72,h 是 104,所以 H |
Hello | Hello PHP | -4 | String1 |