PHP 字符串函数 substr_compare()

2024年9月4日 | 3 分钟阅读

substr_compare() 是 PHP 的内置函数,它有助于从指定的起始位置到指定的结束位置比较两个字符串。此函数是二进制安全的,并且可选地区分大小写。PHP 5 及以上版本支持此函数。

语法

substr_compare() 函数的语法如下所示。

它包含五个参数,其中三个是必需的,其余两个是可选的。以下是这些参数的说明

参数

$main_str (必需): 它是此函数的主字符串参数,需要进行比较。这是一个必需的参数。

$str (必需): 它是此函数的第二个字符串参数,指定要进行比较。它也是一个必需的参数,与 $main_str 相同。

$start_pos (必需): 这是一个必需的参数,它具有一个整数值。此参数指定 $str 在 $main_str 中开始比较的位置值。换句话说,它提供了比较的起始位置。

如果传入的值为负数,则从字符串的末尾开始比较。

$length (可选): 此参数并非必须在此函数中传入。它包含比较的长度,即它指定要比较的 $str 的长度。

$case-insensitivity (可选): 此参数包含布尔值,指定是否执行区分大小写的比较。它是一个可选参数,与 $length 相同。如果 case-insensitivity 为 TRUE,则比较将不区分大小写。

  • FALSE - 区分大小写(默认值)
  • TRUE - 不区分大小写

返回值

此函数返回以下值

返回 0 - 如果两个给定字符串相等。

返回 < 0 - 如果 $main_str(从起始位置)小于 $str。

返回 > 0 - 如果 $main_str(从起始位置)大于 $str。

注意: 如果 $length 参数值等于或大于主字符串 ($main_str) 的长度,则此函数将显示警告并返回 FALSE。

Changelog

版本描述
PHP 5.1.0可以使用负数的 start_pos。
PHP 5.5.11$length 现在可以为 0。
PHP 7.2.18, 7.3.5$start_pos 可以等于主字符串 ($main_str) 的长度。

示例

下面给出了一些示例来学习 substr_compare() 函数的工作原理。

示例 1

在下面的示例中,我们在此函数中传入了 3 个必需参数。让我们看看 substr_compare() 在三个参数下的工作原理。

输出

0
11
-5

示例 2

输出

11		
0		
-1

示例 3

输出

0		
1		
-1

示例 4: 区分大小写/不区分大小写

在下面的示例中,我们在此函数中传入了所有五个参数。让我们看看 substr_compare() 在所有参数下的工作原理。

输出

0		
1		
0	

下一个主题PHP 字符串函数