我讨厌击败一匹死马,但是这里去了。我有一个Apache2服务器正在运行,我创建自己的php / html表单,并使用mysql输出。效果很好,我喜欢它。
我的问题是我有一个巨大的数组,我想插入MySQL但它需要先排序(0 <00)。我已经完成了许多Q&amp;覆盖这里的主题和提供的代码在单个阵列上工作就好了。但是,我需要循环大约7000套,我希望输出为原始格式,但我没有运气使其按预期工作。
$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)
);
答案 0 :(得分:2)
对每个子数组进行排序的简便方法:
$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建议的那样,您可以使用array_walk
:
array_walk($data, sort);