PHP 字符串函数

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);
    ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    输出:

    0

    示例2

    <?php
    $string1 "Welcome to yxjc123.com";
    $string2 "Welcome";
    $len 20;
    //string1 大于 string2
    echo strncasecmp($string1$string2$len);
    ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    输出:

    13

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

    示例3

    <?php 
    $string1 "Welcome";
    $string2 "Welcome to yxjc123.com";
    $len 20;
    //string1 小于 string2
    echo strncasecmp($string1$string2$len);
    ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    输出:

    -13

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

    示例4

    <?php 
    $string1 "Welcome to yxjc123.com";
    $string2 "Hello";
    $len 20;
    //string1 大于 string2 并且也不相同
    echo strncasecmp($string1$string2$len);
    ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    输出:

    15

    示例5

    <?php 
    $string1 "Hello World";
    $string2 "Hello earth";
    $len 11;//string1 与 string2 不同。
    echo strncasecmp($string1$string2$len);
    ?>
    • 1
    • 2
    • 3
    • 4
    • 5

    输出:

    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);
    ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    输出:

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