PHP 字符串函数

PHP strcmp() 函数它用于比较两个字符串。区分大小写,即大小写敏感。

此函数比较两个字符串并判断一个字符串是否大于、小于或等于另一个字符串。strcmp()函数是二进制安全的。

语法

strcmp($str1, $str2);

参数

strcmp()函数接受两个字符串参数,且都不可以为空。以下参数说明如下。

  1. $str1 - 指定要比较的第一个字符串。
  2. $str2 - 指定要比较的第二个字符串。

返回值

此函数根据比较结果返回相应的整数值。

  • 返回值 0 - 如果两个字符串相等,则返回 0,即 $str1 = $str2
  • 返回值<0 - 如果 string1 小于 string2 则返回负值,即 $str1 <$str2
  • 返回值>0 - 如果 string1 大于 string 2,则返回正值,即 $str1> $str2

注意:它计算字符串的 ASCII 值,然后比较两个字符串以检查它们是否相等

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

strcoll()strcmp()都是字符串比较函数,但它们之间略有不同。

strcoll() 获取字节并使用语言环境对其进行转换,然后比较结果,而 strcmp() 一个接一个地获取字符串的字节,然后比较它们。

示例

介绍几个例子,了解PHP strcmp() 函数的使用方法。

示例1

<?php
$str1 = "hello php";
$str2 = "hello php";
echo strcoll($str1, $str2). " 两个字符串相等 ";
echo " </br>";
echo strcoll("Hello world", "Hello"). " 第一个字符串大于第二个字符串";
?>

输出:

0 两个字符串相等
6 第一个字符串大于第二个字符串

备注:第二个字符串返回值 6,因为第一个字符串比第二个字符串大 6 个字符,包括空格。

示例2

<?php
echo strcoll("Hello world", "hello"). " 第一个字符串小于第二个字符串";
echo "</br>";
echo strcoll("hello", "Hello"). " 第一个字符串大于第二个字符串.";
?>

输出:

-1 第一个字符串小于第二个字符串
1 第一个字符串大于第二个字符串

示例3

<?php
echo strcmp("Hello ", "HELLO").  " 第一个字符串大于第二个字符串";
echo "</br>";
echo strcmp("Hello world", "Hello world Hello"). " 第一个字符串小于第二个字符串";
?>

输出:

1 第一个字符串大于第二个字符串
-6 第一个字符串小于第二个字符串

备注: 第二个字符串比较返回 -6 因为第一个字符串比第二个字符串小 6 个字符,包括空格。

String1String2输出说明
HelloHello0两个字符串相同且相等l.
Hellohello-1String1
helloHello1String1> String2,因为 H 的 ASCII 值是 72,h 是 104,所以 H
Hello PHPHello4String1> String2 因为 String1 比 String2 大 6 个字符,包括空格。
helloHello PHP1String1> String2 因为 H 的 ASCII 值是 72,h 是 104,所以 H
HelloHello PHP-4String1