我正在sort_flags
这个页面上学习 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_STRING
或SORT_NATURAL
进行不区分大小写的排序结合使用,例如:
// works like SORT_NATURAL but is case-insensitive
sort($toSort, SORT_NATURAL | SORT_FLAG_CASE);