with utf8_encode keys array_walk array_map array php arrays

utf8_encode - php array_map with keys



Pasando el método de objeto a array_map() (2)

El siguiente código proporciona una serie de correos electrónicos de una matriz $users que contiene instancias de una clase con un método getEmail :

if(count($users) < 1) { return $users; // empty array } return array_map(array($users[0], "getEmail"), $users);

class theClass{ function doSomeWork($var){ return ($var + 2); } public $func = "doSomeWork"; function theFunc($min, $max){ return (array_map(WHAT_TO_WRITE_HERE, range($min, $max))); } } $theClass = new theClass; print_r(call_user_func_array(array($theClass, "theFunc"), array(1, 5))); exit;

¿Puede alguien decir lo que puedo escribir en WHAT_TO_WRITE_HERE, para que la función doSomeWork se pase como primer parámetro a array_map? y el código funciona correctamente.

Y dar a conocer como

Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 [4] => 7 )


Para utilizar métodos de objeto con array_map() , pase una matriz que contenga la instancia del objeto y el nombre del método. Para el alcance del mismo objeto, use $this como normal. Ya que el nombre de su método está definido en su propiedad public $func , puede pasar $this->func . Esto se aplica a la mayoría de las funciones que aceptan una callback como un argumento.

Como nota al margen, los paréntesis fuera de array_map() no son necesarios.

return array_map(array($this, $this->func), range($min, $max));