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.
One Reply to “Funciones anónimas en PHP”