16.PHP 数组之 sort() 和 asort() 函数
1 <?php
2 /*
3 0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。一位一位比较
4 1 = SORT_NUMERIC - 把每一项作为数字来处理。(将字符转化为对应ASCII码值)
5 2 = SORT_STRING - 把每一项作为字符串来处理。
6 3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
7 4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
8 5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
9 */
10 $exampleArray1 = $exampleArray2 = array(
11 0 => 'example1',
12 1 => 'Example10',
13 2 => 'example12',
14 3 => 'Example2',
15 4 => 'example3',
16 5 => 'eXAMPLE10',
17 6 => 'example10'
18 );
19
20 asort($exampleArray1);
21
22 asort($exampleArray2, SORT_STRING | SORT_FLAG_CASE | SORT_NATURAL);
23
24 echo "<pre>";
25 print_r($exampleArray1);
26
27 print_r($exampleArray2);
28 echo "</pre>";
输出结果:
1 Array
2 (
3 [1] => Example10
4 [3] => Example2
5 [5] => eXAMPLE10
6 [0] => example1
7 [6] => example10
8 [2] => example12
9 [4] => example3
10 )
11 Array
12 (
13 [0] => example1
14 [3] => Example2
15 [4] => example3
16 [5] => eXAMPLE10
17 [1] => Example10
18 [6] => example10
19 [2] => example12
20 )
sort()函数功能类似,唯一区别在于不保留原来键和值的顺序

浙公网安备 33010602011771号