📜  PHP | substr_compare()函数(1)

📅  最后修改于: 2023-12-03 15:03:39.807000             🧑  作者: Mango

PHP | substr_compare()函数

在 PHP 中,substr_compare() 函数用于比较两个字符串的一部分。它返回一个整数值,该值指示两个字符串在指定的长度内完全或部分匹配或不匹配。此函数适用于以下情况:

  • 比较字符串的一部分
  • 对大小写不敏感的比较
语法

substr_compare(string1, string2, offset, length, [case_insensitive])

  • string1: 必需,要进行比较的第一个字符串。
  • string2: 必需,要进行比较的第二个字符串。
  • offset: 从字符串1和2开始比较的位置的偏移量。默认值为0。
  • length: 比较的最大长度。默认值为字符串1和字符串2的长度之间的最大值。
  • case_insensitive: 选用,如果设置为 true,则采用不区分大小写的比较。
返回值

substr_compare() 在以下情况下返回一个整数值:

  • 如果字符串1在字符串2之前,它将返回一个负数。
  • 如果字符串1和字符串2相等,它将返回 0。
  • 如果字符串1在字符串2之后,它将返回一个正数。
示例代码
// 例1
if (substr_compare("Hello world", "world", 6) === 0) {
    echo "两个字符串在指定位置之后匹配";
}

// 例2
if (substr_compare("Hello World", "world", 6, 5, true) === 0) {
    echo "两个字符串在指定位置之后匹配(不区分大小写)";
}

// 例3
echo substr_compare("Hello world", "World", 0, 5);

// 输出结果: 0 表示两个字符串相等
注意事项
  • 在比较之前,substr_compare 不会检查 $offset 和 $length 的有效性。如果其值超过字符串长度,则会出现意外结果。
  • 当 $offset 和 $length 的值相同时,会返回 0,无论字符串是否相等。
  • 如果 $case_insensitive 为 true,则不区分大小写。否则区分大小写。