---數組$點----問題的時間在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