---数组$点----问题的时间在PHP
Array
(
[0] => Array
(
[0] => 2011-10-02 05:30:00
[1] => 20
)
[1] => Array
(
[0] => 2011-10-04 09:30:00
[1] => 12
)
[2] => Array
(
[0] => 2011-10-01 13:30:00
[1] => 25
)
[3] => Array
(
[0] => 2011-10-03 02:30:00
[1] => 31
)
)
我有一个数组在上面,想排序数组的时间。然后我使用下面的代码进行排序,结果是正确的。但是,如果我将代码time[$key] = $val[0]
更改为$time = $val[0]
,结果是错误的。
有没有人可以向我解释这个?非常感谢!
foreach($points as $key=>$val){
$time[$key] = $val[0];
array_multisort($time, SORT_ASC, $points);
}
你可以做个试验:删除最后一行('array_mu ...'),其注释掉什么的,那么'foreach'循环之后打印出来'$ time'使用'time [$ key] = $ val [0]''语句。接下来,将该行更改为'$ time = $ val [0]'并查看循环后生成的'$ time'。 – ladaghini 2012-01-03 16:20:04
这是因为'array_multisort'的工作方式。它对多个数组进行排序,当'$ time'数组进行排序时,'$ points'数组根据'$ time'中的数组索引重新排序。尽管'array_multisort'应该在'foreach'之后。 – cmbuckley 2012-01-03 16:31:30