PHP strcoll 字符串函数

  • 定义和用法

    strcoll - 基于区域设置的字符串比较
  • 版本支持

    PHP4 PHP5 PHP7
    V4.0.5(含)+支持 支持 支持
    V4.2.3(含)+ 该函数在 Win32 平台可用。
  • 语法

    strcoll (string $str1 , string $str2 )  
    
    注意该比较区分大小写。和 strcmp() 不同,该函数不是二进制安全的。strcoll() 使用当前区域设置进行比较。如果当前区域为 C 或 POSIX,该函数等同于 strcmp()
  • 参数

    参数 必需的 描述
    str1 第一个字符串。
    str2 第二个字符串。
  • 返回值

    如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。
  • 示例

    <?php
    $a = "Österreich";
    $b = "Oesterreich";
    $z = "Zeta";
    
    echo setlocale(LC_ALL, 0) . PHP_EOL; // (on my mac: C/en_US.UTF-8/C/C/C/C)
    echo strcoll($a, $b) . PHP_EOL; // 116
    echo strcoll($b, $a) . PHP_EOL; // -116
    echo strcoll($a, $z) . PHP_EOL; // 105
    
    echo setlocale(LC_ALL, "de_DE") . PHP_EOL; // de_DE
    echo strcoll($a, $b) . PHP_EOL; // 135
    echo strcoll($b, $a) . PHP_EOL; // -135
    echo strcoll($a, $z) . PHP_EOL; // 124
    
    $collator = new Collator("de_DE");
    echo $collator->compare($a, $b); // 1
    echo $collator->compare($b, $a); // -1
    echo $collator->compare($a, $z); // -1
    ?>
    
  • 相关函数

    preg_match() - 执行匹配正则表达式
    strcmp() - 二进制安全字符串比较
    strcasecmp() - 二进制安全比较字符串(不区分大小写)
    substr() - 返回字符串的子串
    stristr() - strstr 函数的忽略大小写版本
    strncasecmp() - 二进制安全比较字符串开头的若干个字符(不区分大小写)
    strncmp() - 二进制安全比较字符串开头的若干个字符
    strstr() - 查找字符串的首次出现
    setlocale() - 设置地区信息