PHP, 排序, sort_flags

标签 php sorting flags

我正在研究 sort_flags page在 PHP 手册上。

而且我不明白这些标志分别代表什么区别。

只有 6 个标志,谁能帮我理解它们之间的区别。也许有一些例子。我将不胜感激。

最佳答案

用于测试的数组:

$toSort = array(2, 1, "img1", "img2", "img10", 1.5, "3.14", "2.72");

注意 3.14 & 2.72 是字符串。

使用 SORT_REGULAR 标志(正常比较项目):

Array
(
    [0] => 2.72
    [1] => 3.14
    [2] => img1
    [3] => img10
    [4] => img2
    [5] => 1
    [6] => 1.5
    [7] => 2
)

使用 SORT_NUMERIC 标志(比较项目的数字,所以 3.14 被排序为数字而不是字符串):

Array
(
    [0] => img10
    [1] => img1
    [2] => img2
    [3] => 1
    [4] => 1.5
    [5] => 2
    [6] => 2.72
    [7] => 3.14
)

使用 SORT_STRING 标志(SORT_LOCALE_STRING 的工作方式类似,但取决于当前的语言环境,所有值都被视为字符串):

Array
(
    [0] => 1
    [1] => 1.5
    [2] => 2
    [3] => 2.72
    [4] => 3.14
    [5] => img1
    [6] => img10
    [7] => img2
)

使用 SORT_NATURAL 标志(注意 img* 字符串的顺序,自然):

Array
(
    [0] => 1
    [1] => 1.5
    [2] => 2
    [3] => 2.72
    [4] => 3.14
    [5] => img1
    [6] => img2
    [7] => img10
)

SORT_FLAG_CASE 可以与 SORT_STRINGSORT_NATURAL 结合进行不区分大小写的排序,例如:

// works like SORT_NATURAL but is case-insensitive
sort($toSort, SORT_NATURAL | SORT_FLAG_CASE);

关于PHP, 排序, sort_flags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11168523/

相关文章:

PHP 上传文件验证

php - 调用css、js文件的最佳方式?

javascript - AJAX请求后获取数据

bash - 使用 grep 查找整个字符串

go - 您可以为 Cobra 中的标志指定可选参数吗?

php - 如何在 php 中发送电子邮件正文中的 html 表?

python - 获取列表中的最大元组

java - 排序数组列表

python - numpy.sort() 错误 ValueError : The truth value of an array with more than one element is ambiguous. 使用 a.any() 或 a.all()

c# - 在不声明所有可能的组合的情况下打开 Enum(带有 Flags 属性)?