Al parecer PHP todavía no soporta funciones anónimas. Hoy necesitaba una. Iba a hacer un usort de un arreglo cuyas celdas eran a su vez otros arreglos, motivo por el cual no me servía un sort normal.

Inicialmente hice lo siguiente ...

usort($datos['opciones'], "ordenar_opciones_menu");

Y poner el código de la función por fuera de mi clase de Controlador.

function ordenar_opciones_menu($a, $b)
{
    return strcmp($a['titulo'], $b['titulo']);
}

Resultado ... muy feo.

Encontré que PHP tiene una forma un poco practica para crear funciones de manera dinámica a partir de una cadena de texto con su código. El ejemplo anterior se simplificó de la siguiente manera.

usort($datos['opciones'],
         create_function('$a, $b',
                         'return strcmp($a["titulo"], $b["titulo"]);'));

Un tanto preferible esta versión.

VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Artículos relacionados:

  1. Algunas funciones del manejo de variables en PHP que acostumbro olvidar