有没有什么办法来“自定义”排序数组?举例来说,如果我有以下数字:如何对PHP数组进行排序?
$array = array('0' => 1, '1' => 2, '2' => 3);
我想它命令他们以这种方式:
$array = array('0' => 2, '1' => 1, '2' => 3);
我怎么会做这个还是不可能?我基本上想要为每个用户在一个数据库字段中列出此数组,但每个订单将有所不同,具体取决于用户如何对数组进行排序。
谢谢,杰克
有没有什么办法来“自定义”排序数组?举例来说,如果我有以下数字:如何对PHP数组进行排序?
$array = array('0' => 1, '1' => 2, '2' => 3);
我想它命令他们以这种方式:
$array = array('0' => 2, '1' => 1, '2' => 3);
我怎么会做这个还是不可能?我基本上想要为每个用户在一个数据库字段中列出此数组,但每个订单将有所不同,具体取决于用户如何对数组进行排序。
谢谢,杰克
可以使用
每个这些接受一个数组和一个user-defined comparison function aka callback。你放入比较函数的内容取决于你。从PHP5.3开始,您也可以使用SplHeaps to create ordered collections。
谢谢!我会研究这些:) – Jake 2010-08-20 22:59:28
,你可能还需要看看在array_multisort()
这可能是更好地让数据库排序检索时的阵列与用户的设置。我认为这在PHP中排序几乎总是可取的。
编辑: 我忘记了数组可能存储为单个对象,因此数据库只是将它作为对象而不是数组处理。要启用还是服务器端(数据库服务器)排序,阵列也可以表示为单独的表:
用户名:索引0 用户名:索引1 等等
但这可能给太多的数据开销。
什么是排序逻辑?什么决定价值是向前还是向后? – Teekin 2010-08-20 23:01:11