Funciones anónimas en PHP

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.

No hay artículos relacionados.

One Response to Funciones anónimas en PHP

  1. Pingback: Aplicación para el 6CCC: nuevo estilo para la programación | Jorge Iván Meza Martínez

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>