Возможно ли? Что-то вроде (что не работает):
$prototype = array( 'ext' => function ($args) { $ext = NULL; if (in_array(func_get_arg(0), array('js', 'css'))) return $ext; else return 'js'; }, );
Это, безусловно,:
<?php $array = array( 'func' => function($a) { return $a + 2; } ); echo $array['func'](3); ?>
Это даст вам 5 =)!
Да. Единственным ограничением является то, что вы не можете привести его к объекту.
<?php $foo = array( 'bar' => function($text) { echo $text; } ); $foo['bar']('test'); //prints "test" $obj = (object)$foo; $obj->bar('test'); //Fatal error: Call to undefined method stdClass::bar() in /code/REGnPf on line 11 ?>