Re: [PHP-DEV] call_user_*() From: Sterling Hughes (sterling <email protected>)
Date: 05/13/01

Stefan Livieratos wrote:

> "Sterling Hughes" <sterling <email protected>> schrieb im Newsbeitrag
> news:3AFD8EF7.2030605 <email protected>
>
>>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.
>

Well it is needed... If you need to decide how many arguments to pass
to a function at execution time then the call_user_func_array() function
is critical.

-Sterling

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>