values una funcion filtrar elementos arrayfilter array_walk array_map array aplicar php scope php-5.3

una - php array_walk use



alcance del parámetro de devolución de llamada php array_map (1)

Porque está en otro ámbito. Si quiere usar $wrap , intente:

function($val) use ($wrap){ //etc }

Por supuesto, su función aquí no necesita una devolución de llamada:

return $wrap.implode($wrap.$delim.$wrap,$ar).$wrap;

En el siguiente código, la función de devolución de llamada pasada a wrap_map no puede ver el argumento en la función externa, ¿por qué? (ver el comentario del código para más detalles)

public static function wrap_implode($ar, $wrap, $delim){ echo "wrap is $wrap"; //wrap is ok $res = array_map(function($val){ echo "wrap is $wrap"; //wrap is not set here! return $wrap. $val . $wrap; }, $ar); return implode($delim, $res); }