PHP strncasecmp()
函数它用于比较两个字符串的前 n 个字符。 strncasecmp() 是一个不区分大小写且二进制安全的函数。
此函数类似于 strcasecmp() 函数,但有所不同。在 strncasecmp() 中,我们可以指定两个字符串中的字符数进行比较,而 strcasecmp() 没有长度参数。
语法
strncasecmp()函数的语法如下:
strncasecmp($string1, $string2, $length)
这三个参数都是必须的。比较后返回一个整数值。
参数
- $string1(必须):它是比较中使用的第一个字符串。这是一个必须参数。
- $string2(必须):它是用于比较的第二个必须字符串。
- $length:这是该函数的最后一个必须参数,它指定要在比较中使用的字符串的长度。
返回值
返回值 | 说明 |
---|---|
返回值<0 | 如果string1小于string2,即$string<$string2。 |
返回值=0 | 如果两个字符串相等。 |
返回值> 0 | 如果string1大于string2,即$string> $string2. |
示例
下面给出了一些示例,您可以从中学习该函数在程序中的用法。
示例1
<?php
$string1 = "Welcome to yxjc123.com";
$string2 = "WELCOME";
$len = 7;
//两个字符串相等,不区分大小写
echo strncasecmp($string1, $string2, $len);
?>
输出:
0
示例2
<?php
$string1 = "Welcome to yxjc123.com";
$string2 = "Welcome";
$len = 20;
//string1 大于 string2
echo strncasecmp($string1, $string2, $len);
?>
输出:
13
在本例中,函数返回 13,因为 string1 大于 string2。
示例3
<?php
$string1 = "Welcome";
$string2 = "Welcome to yxjc123.com";
$len = 20;
//string1 小于 string2
echo strncasecmp($string1, $string2, $len);
?>
输出:
-13
在本例中,函数返回 -13,因为 string1 小于 string2。
示例4
<?php
$string1 = "Welcome to yxjc123.com";
$string2 = "Hello";
$len = 20;
//string1 大于 string2 并且也不相同
echo strncasecmp($string1, $string2, $len);
?>
输出:
15
示例5
<?php
$string1 = "Hello World";
$string2 = "Hello earth";
$len = 11;//string1 与 string2 不同。
echo strncasecmp($string1, $string2, $len);
?>
输出:
18
在上面的例子中,这个函数返回了 18,因为 string2 大于 string1。 e (101) 的 ASCII 值大于 W (87)。
示例6
<?php
$string1 = "Good afternoon";
$string2 = "Good afternoor";
$len = 14;
//string2 有一个字符 (r) 具有更高的 ASCII 值,因此,输出将是 <0
echo strncasecmp($string1, $string2, $len);
?>
输出:
-4
在此示例中,函数返回 - 4 因为 string1 小于 string2。 r (114) 的 ASCII 值大于 n (110),后者较小。