strnatcmp

(PHP 4, PHP 5, PHP 7)

strnatcmp使用自然排序算法比较字符串

说明

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

该函数实现了以人类习惯对数字型字符串进行排序的比较算法,这就是“自然顺序”。注意该比较区分大小写。

参数

str1

第一个字符串。

str2

第二个字符串。

返回值

与其他字符串比较函数类似,如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。

范例

下面的例子展示了该算法与计算机常规字符串比较算法( strcmp() 所使用的)的区别:

<?php
$arr1 
$arr2 = array("img12.png""img10.png""img2.png""img1.png");
echo 
"Standard string comparison\n";
usort($arr1"strcmp");
print_r($arr1);
echo 
"\nNatural order string comparison\n";
usort($arr2"strnatcmp");
print_r($arr2);
?>

以上例程会输出:

Standard string comparison
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order string comparison
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
更多信息,参见:Martin Pool 的 » 自然顺序的字符串比较 page.

参见

  • preg_match() - 执行匹配正则表达式
  • strcasecmp() - 二进制安全比较字符串(不区分大小写)
  • substr() - 返回字符串的子串
  • stristr() - strstr 函数的忽略大小写版本
  • strcmp() - 二进制安全字符串比较
  • strncmp() - 二进制安全比较字符串开头的若干个字符
  • strncasecmp() - 二进制安全比较字符串开头的若干个字符(不区分大小写)
  • strnatcasecmp() - 使用“自然顺序”算法比较字符串(不区分大小写)
  • strstr() - 查找字符串的首次出现
  • natsort() - 用“自然排序”算法对数组排序
  • natcasesort() - 用“自然排序”算法对数组进行不区分大小写字母的排序

相关文章
php 字符串 函数 使用 uuencode 编码一个字符串php 字符串 函数 使用一个字符串分割另一个字符串php fann 函数 读取文件并在整个数据集上训练,使用 cascade2 训练算法训练一段时间。php hash 函数 可防止时序攻击的字符串比较php url 函数 生成 url encode 之后的请求字符串php iconv 函数 字符串按要求的字符编码来转换php 数组 函数 用“自然排序”算法对数组进行不区分大小写字母的排序php 数组 函数 用“自然排序”算法对数组排序php 字符串 函数 二进制安全比较字符串(不区分大小写)php 字符串 函数 二进制安全字符串比较php 字符串 函数 基于区域设置的字符串比较php 字符串 函数 使用“自然顺序”算法比较字符串(不区分大小写)php 字符串 函数 使用自然排序算法比较字符串php 字符串 函数 二进制安全比较字符串开头的若干个字符(不区分大小写)php 字符串 函数 二进制安全比较字符串开头的若干个字符php 字符串 函数 二进制安全比较字符串(从偏移位置比较指定长度)php 数组 函数 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联php 字符串 函数 将字符串中每个单词的首字母转换为大写php 数组 函数 使用用户自定义的比较函数对数组中的键名进行排序php 数组 函数 使用用户自定义的比较函数对数组中的值进行排序
关注编程学问公众号