Re: call_user_*()
| From: | Stefan Livieratos | Date: | Sun, 13 May 2001 02:07:08 +0000 |
| Subject: | Re: call_user_*() | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-55051@lists.php.net to get a copy of this message | ||
"Sterling Hughes" <sterling@designmultimedia.com> schrieb im Newsbeitrag
news:3AFD8EF7.2030605@designmultimedia.com...
> Howdy all,
> I've been going through the call_user_*() functions in
> basic_functions.c and just a couple of notes/things I found odd.
>
> 1) With a aforementioned bug, thies was right, the following code
> fails, but it shouldn't:
>
> <?php
> function get_reference_as_arg(&$param)
> {
> var_dump($param);
> }
>
> $name = "get_reference_as_arg";
> $param1 = array(1, 2);
>
> call_user_func($name, $param1);
> ?>
>
> Fails.
>
> Whereas, replacing the call_user_func above with the following:
>
> call_user_func($name, array($param1));
Well, I thought that the function call_user_func_array() is supposed to be
called this way. What good is it anyway? I suggest 'call_user_func_array'
should
be removed as it is not needed and also doesn't work with user functions
that
expect arguments by reference.
This script fails:
<?php
function get_reference_as_arg(&$param)
{
var_dump($param);
}
$name = "get_reference_as_arg";
$param1 = array(1, 2);
call_user_func_array($name, array($param1));
?>
Regards,
Stefan Livieratos