You need PHP 5.3 for that. Here's the RFC:

http://wiki.php.net/rfc/closures


On 3/4/2009 13:33, Richard Quadling wrote:
Hi.

Quite a simple question (assuming I've got the terminology correct).

Are there any plans to allow code like this (amended example taken
from the array_map() documentation) ...

<?php
$a = array(1, 2, 3, 4, 5);
$b = array_map(function($n){return($n * $n * $n)}, $a);
print_r($b);

For me, this is cleaner than having a use-once, namespace-polluting function.

Currently, this is producing a parse error.


A real alternative though would be to allow nested functions...

<?php
function cube_array($a) {
   function cube($n) {
     return($n * $n * $n);
   }
   return array_map("cube", $a);
}
$a = array(1, 2, 3, 4, 5);
$b = cube_array($a);
print_r($b);

Ideally, cube() would not be visible outside of cube_array(). Scoped functions.

Regards,

Richard Quadling.

--
Ionut G. Stan
I'm under construction  |  http://igstan.blogspot.com/

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to