PHP 字符串 strcmp()函数

PHP 字符串 strcmp()函数

字符串比较是编程和开发中最常见的任务之一。strcmp()是PHP中的一个字符串比较函数。它是PHP的内建函数,它 区分大小写 ,意味着它将大写和小写视为不同。它用于比较两个字符串。此函数比较两个字符串并判断一个字符串是否大于、小于或等于另一个字符串。strcmp()函数是 二进制安全的字符串比较

注意:strcmp()函数对大小写敏感,同时也是二进制安全的字符串比较。

语法

strcoll(str1,str2);

参数

strcmp()函数接受两个字符串参数,在函数体中传递是必需的。需要传递的都是strcmp()函数中的必需参数。下面给出了以下参数的描述。

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

strcmp()函数返回的值

该函数根据比较随机返回整数值。

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

返回小于0 - 如果字符串1小于字符串2,即str1<str2,它返回一个负值。

返回大于0 - 如果字符串1大于字符串2,即str1 >str2,它返回一个正值。

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

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

strcoll()和strcmp()都是PHP的字符串比较函数,但它们在某些方面稍有不同。

strcoll() 接受字节并使用区域设置转换它们,然后比较结果,而 strcmp() 按顺序逐个比较字符串的字节。

示例1

<?php
    str1 = "hello php";str2 = "hello php";
    echo strcoll(str1,str2). " because both strings are equal. ";
    echo " </br>";
    echo strcoll("Hello world", "Hello"). " because the first string is greater than the second string.";
?>

输出:

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

注意: 第二个字符串的比较返回了6的值,因为第一个字符串比第二个字符串长出6个字符,包括空格。

示例2

<?php
    echo strcoll("Hello world", "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 strcmp("Hello ", "HELLO").  " because the first string is greater than the  second string.";
    echo "</br>";   
    echo strcmp("Hello world", "Hello world Hello"). " because the first string is less than the second string.";
?>

输出:

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 输出 解释
Hello Hello 0 两个字符串相同且相等。
Hello hello -1 字符串1 < 字符串2,因为 H 的 ASCII 值是 72,h 的 ASCII 值是 104,所以 H < h。它区分大小写。
hello Hello 1 字符串1 > 字符串2,因为 H 的 ASCII 值是 72,h 的 ASCII 值是 104,所以 H < h。
Hello PHP Hello 4 字符串1 > 字符串2,因为字符串1比字符串2多了6个字符,包括空格。
hello Hello PHP 1 字符串1 > 字符串2,因为 H 的 ASCII 值是 72,h 的 ASCII 值是 104,所以 H < h。
Hello Hello PHP -4 字符串1 < 字符串2,因为字符串1比字符串2少了4个字符,包括空格。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程