Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/11/2020, 18:52
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: Ordenar un array asociativo por un campo concreto

primero que todo veo, un problema

en un array php, no puedes asignar un DOUBLE o FLOAT como INDEX

por que no puedes hacer
Código PHP:
Ver original
  1. <?php
  2. $array=array();
  3. $array[ -0.6] =  'el index es invalido';
  4. $array[ 10.15] =  'este otroe s invalido tambien';

debido a que si lo intentas, como lo etas haciendo, PHP interpretara como mejor le convenga, en la version7.1 que probe, redondea el INDEX 0.6 a 0 y el -1.1 a -1

asi que puedes optar por convertir ese INDEX en un STRING para hacerlo valido

Código PHP:
Ver original
  1. <?php
  2. $array=array();
  3. $array[ "-0.6"] =  'el index es VALIDO';
  4. $array[ "10.15"] =  'este otroe s VALIDO tambien';

en todo caso creo que te vendria mejor usar la funcion para ordenar array, nativa de php
uasort

https://www.php.net/manual/es/function.uasort.php

Código PHP:
Ver original
  1. function comparar_elemento ($a, $b) {
  2.     if ($a["prioridad"] == $b["prioridad"]) {
  3.         return 0;
  4.     }
  5.     return ($a["prioridad"] < $b["prioridad"]) ? -1 : 1;
  6. }

como plus, en PHP 5.4 puedes usar funciones LAMBDA y agregar variables en el SCOPE de las funciones

function ( ) use () {}
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9