当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP string strcmp()用法及代码示例


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

注意:strcmp() 函数区分大小写以及二进制安全字符串比较。

用法:

strcoll($str1, $str2);

参数

strcmp() 函数接受两个字符串参数,必须传入函数体。这两个参数都必须传入 strcmp() function()。下面给出了以下参数的描述。

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

strcmp() 的值返回

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

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

返回 < 0- 如果 string1 小于 string2,则返回负值,即 $str1 < $str2

返回 >0- 如果 string1 大于 string 2,则返回正值,即 $str1 > $str2

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

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

strcoll() 和 strcmp() 都是 PHP 的字符串比较函数,但两者略有不同。

Strcoll() 取字节并使用 locale 转换它们,然后比较结果,而 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 String1 < String2 因为 H 的 ASCII 值是 72,而 h 是 104,所以 H < h。它以不同的方式对待小写字母和大写字母。
hello Hello 1 String1 > String2 因为 H 的 ASCII 值是 72,而 h 是 104,所以 H < h。
你好 PHP Hello 4 String1 > String2 因为 String1 比 String2 大 6 个字符,包括空格。
hello 你好 PHP 1 String1 > String2 因为 H 的 ASCII 值是 72,而 h 是 104,所以 H < h。
Hello 你好 PHP -4 String1 < String2 因为 String1 比 String2 小 4 个字符,包括空格。






相关用法


注:本文由纯净天空筛选整理自 PHP string strcmp() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。