--- array $ punti ----domande sul sorta di matrice di orario di 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
)
)
mi hanno una serie al di sopra e vorrei ordinare questo array dal tempo. Quindi ho usato il codice come segue per ordinare e il risultato è corretto. Tuttavia, se ho cambiato il codice time[$key] = $val[0]
a $time = $val[0]
, il risultato è sbagliato.
C'è qualcuno in grado di spiegarmelo? Grazie molto!
foreach($points as $key=>$val){
$time[$key] = $val[0];
array_multisort($time, SORT_ASC, $points);
}
Prova questo test: Rimuovere l'ultima riga ('array_mu ...'), commentarla o qualcosa del genere, e poi stampare '$ time' dopo il ciclo' foreach' usando l'istruzione 'time [$ key] = $ val [0]'. Quindi, cambia la linea in '$ time = $ val [0]' e guarda cosa '$ time' produce dopo il ciclo. – ladaghini
Questo è dovuto al modo in cui 'array_multisort' funziona. Ordina ordinamenti multipli e quando l'array '$ time' viene ordinato, l'array' $ points' viene riordinato secondo gli indici dell'array in '$ time'. Il 'array_multisort' dovrebbe venire dopo il' foreach', però. – cmbuckley