Variable-length args by reference
| From: | Stefan Neufeind | Date: | Tue, 17 Apr 2012 22:02:31 +0000 |
| Subject: | Variable-length args by reference | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-60116@lists.php.net to get a copy of this message | ||
Hi,
the topic of variable argument-lists for functions in connection with
getting the parameters by reference came up. This is currently not
possible with func_get_args(), though a "hack" with debug_backtrace() is
possible.
How would you think about extending func_get_args() and func_get_arg()
to allow for:
$args = func_get_args(FUNC_GET_ARGS_BY_REFERENCE);
$arg0 = func_get_arg (0, FUNC_GET_ARGS_BY_REFERENCE);
(default would be FUNC_GET_ARGS_BY_COPY)
Currently only the following "hack" works:
function calc()
{
$d = debug_backtrace();
$args = $d[0]['args'];
$args[0] *= 2;
$args[1] *= 2;
}
$a = 5;
$b = 7;
var_dump ($a, $b);
calc(&$a, &$b);
var_dump ($a, $b);
Kind regards,
Stefan