现在我这里有一个数组 ... some_number .. PHP 5.4 以上的版本,可以直接使用方框号去定义数组 ...
这个数组里面是一些数字类型的值 ... 这里我用 var_dump ... 把这个数组输出到了屏幕上... 你会看到,数组项目的顺序,就是我们在定义这个数组时候的顺序 ...
下面用 sort() 函数,去给它重新排下顺序 ...
var_dump
(
$some_number,
sort($some_number)
);
注意,这个函数只会返回 true 或者 false ,并不会返回排序之后的数组 ... 函数的参数是用引用的方式传递进来的 .. command + k ,可以查看一下这个函数的文档 ...
你会发现,这个 array 参数... 前面有一个 & 符号,表示这是用引用方式传递进来的参数 .. 也就是,这个 sort() 函数,会改变传递进来的变量的值 ...
在这个 sort() 函数的下面,我们再试着输出这个 $some_number 数组的值 ..
var_dump
(
$some_number,
sort($some_number),
$some_number
);
现在,$some_number 这个数组里的项目的顺序就有些变化了,排在第一个的是数字 1 ,因为它是这个数组里面最小的数字 ... 然后是 3,最后是 6 。
sort_flags
在 sort 函数里,设置它的第二个参数,可以改变按照什么类型的值来排序 ... 比如我们想要按照数字类型的值排序,可以在这里,加上一个 SORT_NUMERIC
sort($some_number, SORT_NUMERIC),
这里得到的结果是一样的 ... 下面再给 $some_number 这个数字添加一个项目 .. 加上一个数字 11 ...
$some_number = [3, 6, 1, 11];
你会看到,如果按照数字类型的值来排序的话,数字 11 会在最后,因为它是这个数字里面最大的一个数 ...
这回我们再把这个 SORT_NUMERIC 换成 SORT_STRING ,按照字符类型的值来排序 ...
sort($some_number, SORT_STRING),
这次,数字11会排在数字1的下面 ... 因为现在会把数组项目的所有的值当成字符串来看待。
倒序
想要倒序排列的话 ... 可以把 sort ... 换成 rsort ...
rsort($some_number),
这个函数会把它认为是最大值的数组项目排在第一位 ...