On Wed, 07 Jul 2004 13:44:21 -0400, Andrew Nagy <[EMAIL PROTECTED]> wrote: > Curt Zirzow wrote: > > > * Thus wrote Andrew Nagy: > > > >>How do you use the call_user_func function with call-time > >>pass-by-reference deprecation? > >> > >>For example: > >> > >>function fun(&$arg) { > >> $arg++; > >>} > >>$var = 0; > >>call_user_func("fun", $var); > >>echo $var; //echoes 0 instead of 1 > > > > > > $func_call = 'fun'; > > $func_call($var); > > > > Curt > > This does not do what I need. I need to be able to call a dynamic > function name and pass in the parameters with the &. The problem is > this syntax is now deprecated. > > your example with the &: > > $func_call = 'fun'; > $func_call(&$var); > > throughs a warning of the deprecation of this syntax. > > Any ideas? >
If you use the $func_name() syntaxt and the function's parameter is defined as pass-by-reference, this should work fine. function func(&$a) { $a = 1; } $a = 0; $funcName = 'func'; echo '$a before: '.$a.'<br/>'; $funcName($a); echo '$a after: '.$a.'<br/>'; This doesn't solve the problem if the "dynamic" function also has a "dynamic" number of parameters, but this should solve at least one simple problem. -- DB_DataObject_FormBuilder - The database at your fingertips http://pear.php.net/package/DB_DataObject_FormBuilder paperCrane --Justin Patrin-- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php