以下主要学习PHP数组排序,分为三个部分.
对于数组的操作莫过于它的排序了,因此PHP数组排序对于新手来说,可能不是一下子就能掌握的,我们现在要做的就是先了解基本的排序算法.一说起算法这个词,听起来似乎挺神秘,有些程序员最喜欢说这个词,仿佛那是智慧的象征.
对PHP的数组排序应该分为二种,一种是一维数组,另一种是多维数组(通常是二维,如果是更大的维数,恐怕很复杂吧)。针对一维数组,还可以分为是按键还按值进行排序。听起平似乎挺难的,好在PHP中有大量的函数为我们做好了准备
那么下面开始吧:
默认情况下,PHP的排序函数按英语指定的规则进行排序,如果你想改变这种“世俗”的约定,你可以使用setlocale进行某种程序上的设定。首先让我们如何把一个数组进行顺序的颠倒,说得明白点就是原先是排在最后一个的值把它“赶”到第一的位置。函数array_reverse()被赋于这个伟大的使命。
函数原型:array array_reverse ( array array [, bool preserve_keys] ) 所谓原型也就是你要遵守它的“规矩”。
看个例子(来自PHP帮助手册,当然你可以在本站的右边有个在线帮助手册进行查看):
通过上面的解释,知道这个例子的结果吧。当然你不可能比计算机更明白!函数 array_reverse的可选参数指明是否保留原来的索引不变,可以想象在对input数组进行顺序调整后,如果没有可选参数的作用,只怕数组原来的索引已经变得面目全非了(如果你在程序的其他地方对input数组进行某种引用--input[0],那么原本是”php”,那么现在应该是”array”(对象)了)。以下是结果:
Array
(
[0] => Array
(
[0] => green
[1] => red
)
[1] => 4
[2] => php
)
Array
(
[2] => Array
(
[0] => green
[1] => red
)
[1] => 4
[0] => php
)
在我苦口婆心的啰嗦下,相信对于以上的结果早就有心里准备了吧。随便提下array_flip()
说明:array_flip — 交换数组中的键和值
array_flip看起来比较的“蠢”--如果有多个相同的值,则只会保留最后一个,多么恐怖的事!
本文链接:PHP数组排序详解
十月 20th, 2009 at 3:51 下午
高亮代码用什么实现的呢?