strcoll()

1. 定义

该函数基于地域设置比较两个字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0。

注:该函数大小写敏感。

2. 语法

strcoll ( string $str1 , string $str2 ) : int

3. 参数说明

参数 可选性 数据类型 描述
$str1 必需 字符串 待比较的第一个字符串
$str2 必需 字符串 待比较的第二个字符串

4. 示例

<?php

// strcoll()
// 基于地域设置比较两个字符串,如果前者大于后者则返回大于0的数,后者大于前者则返回小于0的数,相等则返回0

setlocale(LC_ALL, 'de_DE');

$str1 = 'Österreich';
$str2 = 'Oesterreich';

$res = strcoll($str1, $str2);
var_dump($res);// 输出:int(1)
$res = strcoll($str2, $str1);
var_dump($res);// 输出:int(-1)

5. 延展阅读

  • strcmp():比较两个二进制安全字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0
  • strcasecmp():比较两个二进制安全字符串,如果前者大于后者则返回大于 0 的数,后者大于前者则返回小于 0 的数,相等则返回 0(不区分大小写)
  • substr():返回从某位置开始、特定长度的子字符串
  • stristr():返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分(不区分大小写)
  • strncasecmp():比较两个字符串中若干个字符开头是否相同(不区分大小写)
  • strncmp():比较二进制字符串的大小
  • strstr():返回特定索引或特定子字符串首次出现的位置到字符串结尾的部分
  • setlocale():设置地区信息