una suma recorrer multidimensional matriz matrices manejo imprimir hacer dibujar como asociativo array 5x5 3x3 php arrays function

suma - recorrer un array multidimensional php



¿Puedes almacenar una función en una matriz de PHP? (3)

Desde PHP "5.3.0 funciones anónimas disponibles", ejemplo de uso:

tenga en cuenta que esto es mucho más rápido que usar la antigua función create_function ...

//store anonymous function in an array variable e.g. $a["my_func"] $a = array( "my_func" => function($param = "no parameter"){ echo "In my function. Parameter: ".$param; } ); //check if there is some function or method if( is_callable( $a["my_func"] ) ) $a["my_func"](); else echo "is not callable"; // OUTPUTS: "In my function. Parameter: no parameter" echo "/n<br>"; //new line if( is_callable( $a["my_func"] ) ) $a["my_func"]("Hi friend!"); else echo "is not callable"; // OUTPUTS: "In my function. Parameter: Hi friend!" echo "/n<br>"; //new line if( is_callable( $a["somethingElse"] ) ) $a["somethingElse"]("Something else!"); else echo "is not callable"; // OUTPUTS: "is not callable",(there is no function/method stored in $a["somethingElse"])

REFERENCIAS:

p.ej:

$functions = array( ''function1'' => function($echo) { echo $echo; } );

es posible? ¿Cuál es la mejor alternativa?


Hay algunas opciones. Use create_function :

$functions = array( ''function1'' => create_function(''$echo'', ''echo $echo;'') );

Simplemente almacene el nombre de la función como una cadena (esto es efectivamente lo que está haciendo create_function ):

function do_echo($echo) { echo $echo; } $functions = array( ''function1'' => ''do_echo'' );

Si está utilizando PHP 5.3, puede hacer uso de funciones anónimas :

$functions = array( ''function1'' => function($echo) { echo $echo; } );

Todos estos métodos se enumeran en la documentación bajo el pseudo-tipo de callback . Cualquiera que elija, la forma recomendada de llamar a su función sería con la función call_user_func o call_user_func_array .

call_user_func($functions[''function1''], ''Hello world!'');


Para realizar un seguimiento de la publicación de Alex Barrett, create_function () devuelve un valor que puede usar para llamar a la función, por lo tanto:

$function = create_function(''$echo'', ''echo $echo;'' ); $function(''hello world'');