PHP 字符串 strcoll()函数
strcoll() 是PHP的内置字符串函数,用于比较两个字符串。它是基于本地化的字符串比较。
需要注意的是,strcoll()函数进行的比较是 区分大小写的 ,就像strcmp()函数一样,在比较过程中对大写和小写字母进行了区别对待。但是,它不像strcmp()函数那样是二进制安全的。
注意:strcoll()函数是区分大小写的,与strcmp()函数不同,它不是二进制安全的。
语法
strcoll(str1,str2);
参数
此函数接受两个字符串作为参数传递,必须要传入。以下是对参数的描述:
- $str1(必须) - 这是函数的第一个参数,用于比较。
- $str2(必须) - 这是函数的第二个参数,用于比较。
两个参数都必须传递给函数。
strcoll()的返回值
strcoll()返回一个随机整数值,其取决于匹配条件。
返回0 - 如果两个字符串相等,即 $str1 = $str2 ,则返回0。
返回 <0 - 如果第一个字符串小于第二个字符串,即 $str1 < $str2,则返回负值(<0)。
返回 >0 - 如果第一个字符串大于第二个字符串,即 $str1 > $str2,则返回正值(>0)。
注意:它计算字符串的ASCII值,然后比较两个字符串以检查它们是否相等、大于或小于。
示例1
<?php
str1 = "hello php";str2 = "hello php";
echo strcoll(str1,str2). " because both strings are equal. ";
echo strcoll("Hello PHP", "Hello"). " because the first string is greater than the second string.";
?>
输出:
0 because both strings are equal.
1 because the first string is greater than the second string.
示例2
<?php
echo strcoll("Hello php", "hello"). " because the first string is less than the second string.";
echo "</br>";
echo strcoll("hello", "Hello"). " because the first string is greater than the second string.";
?>
输出:
-1 because the first string is less than the second string.
1 because the first string is greater than the second string.
示例3
<?php
echo strcoll("Hello ", "HELLO"). " because the first string is greater than the second string.";
echo "</br>";
echo strcoll("Hello php", "Hello php Hello"). " because the first string is less than the second string.";
?>
输出:
1 because the first string is greater than the second string.
-1 because the first string is less than the second string.
下面是一个表格,其中包含了一些简单的示例和strcoll()函数的解释,以便更快地理解它。
字符串1 | 字符串2 | 输出结果 | 解释 |
---|---|---|---|
javatpoint | javatpoint | 0 | 两个字符串相同且相等。 |
javatpoint | JAVATPOINT | 1 | 字符串1 > 字符串2,因为J的ASCII值为74,而j的ASCII值为106,所以j > J。它区分大小写。 |
JAVATPOINT | javatpoint | -1 | 字符串1 < 字符串2,因为J的ASCII值为74,而j的ASCII值为106,所以J < j。 |
javaTpoint | javatpoint | -1 | 字符串1 < 字符串2,因为T的ASCII值为84,而t的ASCII值为116,所以T < t。 |
Java | Java | 1 | 字符串1 > 字符串2 |
Javatpoint | java | -1 | 字符串1 < 字符串2,因为J的ASCII值为74,而j的ASCII值为106,所以J < j。这里不检查字符串长度。 |