Php 在插入到数据库之前对数组进行排序
我不想打一匹死马,但这是事实。我有一个Apache2服务器在运行,我用mysql为输入和输出创建了自己的php/html表单。很好用,我喜欢Php 在插入到数据库之前对数组进行排序,php,arrays,sorting,Php,Arrays,Sorting,我不想打一匹死马,但这是事实。我有一个Apache2服务器在运行,我用mysql为输入和输出创建了自己的php/html表单。很好用,我喜欢 我的问题是我有一个巨大的数组,我想插入到MySQL中,但需要先对它进行排序(0对每个子数组进行排序的简单方法: $data = array( array(29,11,15,30,33), array(30,11,25,18,02), array(12,15,08,06,18), array(17,20,03,21,02),
我的问题是我有一个巨大的数组,我想插入到MySQL中,但需要先对它进行排序(0对每个子数组进行排序的简单方法:
$data = array(
array(29,11,15,30,33),
array(30,11,25,18,02),
array(12,15,08,06,18),
array(17,20,03,21,02),
array(26,27,12,30,11),
array(05,25,34,11,16),
array(29,11,06,30,14),
array(05,26,12,18,33),
array(23,28,05,22,09),
array(05,36,31,32,27),
array(02,06,03,05,14)
);
foreach($data as &$value){ // Mind the & byref value
sort($value);
}
var_dump($data);
// $data is now sorted over here
输出:
array(11) {
[0]=>
array(5) {
[0]=>
int(11)
[1]=>
int(15)
[2]=>
int(29)
[3]=>
int(30)
[4]=>
int(33)
}
[1]=>
array(5) {
[0]=>
int(2)
[1]=>
int(11)
[2]=>
int(18)
[3]=>
int(25)
[4]=>
int(30)
}
[2]=>
array(5) {
[0]=>
int(0)
[1]=>
int(6)
[2]=>
int(12)
[3]=>
int(15)
[4]=>
int(18)
}
[3]=>
array(5) {
[0]=>
int(2)
[1]=>
int(3)
[2]=>
int(17)
[3]=>
int(20)
[4]=>
int(21)
}
[4]=>
array(5) {
[0]=>
int(11)
[1]=>
int(12)
[2]=>
int(26)
[3]=>
int(27)
[4]=>
int(30)
}
[5]=>
array(5) {
[0]=>
int(5)
[1]=>
int(11)
[2]=>
int(16)
[3]=>
int(25)
[4]=>
int(34)
}
[6]=>
array(5) {
[0]=>
int(6)
[1]=>
int(11)
[2]=>
int(14)
[3]=>
int(29)
[4]=>
int(30)
}
[7]=>
array(5) {
[0]=>
int(5)
[1]=>
int(12)
[2]=>
int(18)
[3]=>
int(26)
[4]=>
int(33)
}
[8]=>
array(5) {
[0]=>
int(0)
[1]=>
int(5)
[2]=>
int(22)
[3]=>
int(23)
[4]=>
int(28)
}
[9]=>
array(5) {
[0]=>
int(5)
[1]=>
int(27)
[2]=>
int(31)
[3]=>
int(32)
[4]=>
int(36)
}
[10]=>
&array(5) {
[0]=>
int(2)
[1]=>
int(3)
[2]=>
int(5)
[3]=>
int(6)
[4]=>
int(14)
}
}
编辑
或者像@JREAM suggest一样,您可以使用array\u walk
:
array_walk($data, sort);
两个问题:(1)按什么标准排序?(2)为什么它需要在进入MySQL之前进行排序?这意味着您的数据库设计有问题。这是源数据吗?您希望每个单独子数组中的元素排序,还是子数组在$data范围内排序?这是一个非常模糊的问题……我需要对每个集合进行升序排序,以维护pa的MySQL查询模式ttern匹配。如果有意义的话。非常好。我想对我来说太简单了。我感谢你的帮助。这可能是最简单的方法。我在玩数组(multisort)和数组(walk:),也可能,发布了如何使用它。
array_walk($data, sort);