- Desde
- 12 Abr 2021
- Mensajes
- 145
Tengo una duda, a ver si alguien puede echarme un cable.
Tengo un array en el que cada elemento tiene un apartado numérico, llamémoslo "number", y en algunos ese número es sobre un máximo de 10 y en otros de 100. Por ejemplo:
Dicho array lo reordeno mediante array_multisort() de la siguiente manera:
Pero 96 es más grande que 9.7 y 9, lo cual es lógico. Lo que me interesa es reinterpretar los valores que son sobre 100 (cualquiera superior a 10), que ese 96 se interprete como un 9.6, pero ojo, no reformateando el número, necesito que el valor original del array siga siendo 96, ya que luego lo necesito para otras cosas.
Para entenderlo mejor, lo que necesito es reordenar el array de modo que: 9.7 > 96 > 9.
¿Alguna sugerencia? Gracias 👍
Tengo un array en el que cada elemento tiene un apartado numérico, llamémoslo "number", y en algunos ese número es sobre un máximo de 10 y en otros de 100. Por ejemplo:
PHP:
$array = [
"A" => [
"name" => "Volvo",
"number" => "9"
],
"B" => [
"name" = "Audi",
"number" = "96"
],
"C" => [
"name" = "BMW",
"number" = "9.7"
]
]
Dicho array lo reordeno mediante array_multisort() de la siguiente manera:
PHP:
array_multisort(array_column($array, 'number'), SORT_DESC, SORT_NUMERIC, $array);
Pero 96 es más grande que 9.7 y 9, lo cual es lógico. Lo que me interesa es reinterpretar los valores que son sobre 100 (cualquiera superior a 10), que ese 96 se interprete como un 9.6, pero ojo, no reformateando el número, necesito que el valor original del array siga siendo 96, ya que luego lo necesito para otras cosas.
Para entenderlo mejor, lo que necesito es reordenar el array de modo que: 9.7 > 96 > 9.
¿Alguna sugerencia? Gracias 👍