PHP 中的 strncasecmp() 函数

2025年3月17日 | 阅读 3 分钟

strncasecmp() 是 PHP 的一个不区分大小写的内置函数。它比较两个字符串的前 n 个字符。此函数与 strcasecmp() 函数类似,但有一个区别。在 strncasecmp() 中,我们可以指定要比较的两个字符串中的字符数,而在 strcasecmp() 中则没有长度参数。strncasecmp() 是一个二进制安全的函数。

注意: strncasecmp() 是一个不区分大小写且二进制安全的函数。

语法

strncasecmp() 函数的语法如下:

此函数的所有三个参数都是必需的。它在比较后返回一个整数值。

参数

$string1 (必需):这是用于比较的第一个字符串。这是一个必填参数。

$string2 (必需):这是用于比较的第二个必填字符串。

$length:这是此函数的最后一个必需参数,它指定了用于比较的字符串长度。

返回值

返回值描述
返回 < 0如果 string1 小于 string2,即 $string < $string2。
返回 0如果两个字符串相等。
返回 > 0如果 string1 大于 string2,即 $string > $string2。

示例

下面给出了一些示例,您可以从中学习该函数在程序中的实际实现。

Input:
$string1 = "Hello World", $string2 = "HELLO ", $len = 5;	//case-insensitive
Output: 0

Input:
$string1 = "Hello World ", $string2 = "Hello ", $len = 11;	
Output: 6

Input:
$string1 = "Hello PHP! ", $string2 = "PHP", $len = 9
Output: -8

Input:
$string1 = "PHP! ", $string2 = "Hello PHP", $len = 9
Output: 8

Input:
$string1 = "Hello ", $string2 = "Hello PHP", $len = 9
Output: -4

下面给出了一些详细示例:

示例 1

这是 strncasecmp() 的简单示例,它表明它是一个不区分大小写的函数。

输出

0

示例 2

输出

在此示例中,函数返回了 13,因为 string1 大于 string2。

13

示例 3

输出

在此示例中,函数返回了 -13,因为 string1 小于 string2。

-13

示例 4

输出

15

示例 5

输出

在上面的示例中,此函数返回了 18,因为 string2 大于 string1。e 的 ASCII 值 (101) 大于 W (87)。

18

示例 6

输出

在此示例中,函数返回了 -4,因为 string1 小于 string2。在 string2 中,下午的末尾是 r 而不是 n。r 的 ASCII 值 (114) 大于 n (110),后者较小。

-4

示例 7

如果我们不在函数中提供长度进行比较,则会显示错误。

输出

我们可以看到输出中生成了一个警告,即该函数需要三个参数,而程序中只给出了两个参数。

PHP String strncasecmp() function
下一个主题PHP 字符串函数