--- puntos array $ ----preguntas sobre matriz ordenado por horas en 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
)
)
que tienen una serie de arriba y les gustaría para ordenar esta matriz por el tiempo. Luego usé el código como siguiente para ordenar y el resultado es correcto. Sin embargo, si cambié el código time[$key] = $val[0]
a $time = $val[0]
, el resultado es incorrecto.
¿Hay alguien que pueda explicarme esto? ¡Muchas gracias!
foreach($points as $key=>$val){
$time[$key] = $val[0];
array_multisort($time, SORT_ASC, $points);
}
Haga esta prueba: Retire la última línea ('' array_mu ...), como comentario o algo, y luego imprimir '$ tiempo' después de la' bucle foreach' usando la instrucción 'time [$ key] = $ val [0]'. Luego, cambie la línea a '$ time = $ val [0]' y vea qué '$ time' produce después del ciclo. – ladaghini
Esto se debe a la forma en que funciona 'array_multisort'. Clasifica varias matrices, y cuando la matriz '$ time' está ordenada, la matriz' $ points' se reorganiza de acuerdo con los índices de la matriz en '$ time'. Sin embargo, el 'array_multisort' debería venir después del' foreach'. – cmbuckley