PHP 字符串 strcmp() 函数

2024年9月4日 | 3 分钟阅读

字符串比较是编程和开发中最常见的任务之一。strcmp() 是 PHP 中的一个字符串比较函数。它是 PHP 的内置函数,**区分大小写**,意味着它会单独处理大写和小写字母。它用于比较两个字符串。此函数比较两个字符串,并告知一个字符串是大于、小于还是等于另一个字符串。strcmp() 函数是**二进制安全字符串比较**。

注意: strcmp() 函数区分大小写,并且是二进制安全字符串比较。

语法

参数

strcmp() 函数接受两个字符串参数,这两个参数在函数体中是必须传递的。strcmp() 函数需要传递两个参数。以下参数的描述如下。

  1. $str1 - 这是 strcmp() 函数的第一个参数,用于比较。
  2. $str2 - 这是 strcmp() 函数的第二个参数,用于比较。

strcmp() 返回的值

此函数根据比较随机返回一个整数值。

返回 0 - 如果两个字符串相等,则返回 0,即 $str1 = $str2

返回 < 0 - 如果字符串 1 小于字符串 2,则返回负值,即 $str1 < $str2

返回 >0 - 如果字符串 1 大于字符串 2,则返回正值,即 $str1 > $str2

注意:它计算字符串的 ASCII 值,然后比较两个字符串,以检查它们是否相等、大于或小于彼此。

strcoll() 和 strcmp() 函数的区别

strcoll() 和 strcmp() 都是 PHP 的字符串比较函数,但它们之间略有不同。

Strcoll() 获取字节并使用区域设置转换它们,然后比较结果;而 **strcmp()** 逐个获取字符串的字节,然后比较它们,无论字节是什么。

示例 1

输出

0 because both strings are equal. 
6 because the first string is greater than the second string.

备注:第二个字符串比较返回 6,因为第一个字符串比第二个字符串大 6 个字符,包括空格。

示例 2

输出

-1 because the first string is less than the second string.
1 because the first string is greater than the second string.

示例 3

输出

1 because the first string is greater than the second string.
-6  because the first string is less than the second string.

备注:第二个字符串比较返回 -6,因为第一个字符串比第二个字符串小 6 个字符,包括空格。

字符串1字符串2输出说明
HelloHello0两个字符串相同且相等。
Hellohello-1String1 < String2,因为 H 的 ASCII 值是 72,而 h 的 ASCII 值是 104,所以 H < h。它对大小写字母的处理是不同的。
helloHello1String1 > String2,因为 H 的 ASCII 值是 72,而 h 的 ASCII 值是 104,所以 H < h。
Hello PHPHello4String1 > String2,因为 String1 比 String2 大 6 个字符,包括空格。
helloHello PHP1String1 > String2,因为 H 的 ASCII 值是 72,而 h 的 ASCII 值是 104,所以 H < h。
HelloHello PHP-4String1 < String2,因为 String1 比 String2 小 4 个字符,包括空格。

下一个主题PHP 字符串函数