[Phpmyadmin-devel] a PHP 5.1.2 bug?

Sebastian Mendel lists at sebastianmendel.de
Fri Jan 13 03:17:02 CET 2006

Garvin Hicking schrieb:
> Hi!
>>> It surprises me that this has ever worked :)
>> it is more than logical that this should work, as = is always evaluated first!
> Yes. But NOT if the function parameter expects a REFERENCE variable.


function myFunction(&$param) {}

myFunction($param = true);

this gives the reference $param to the function, there is no reason why
this should not work! true is assigned to $param and than $param is
passed by reference to the function.

>> why?
>> whats the difference between
>> function( anotherFunction() ); function( $var = 'value' );
>> ???
> The difference is that
> preg_replace($string, $what, resultArray());
> will also not work. You can't/shouldn't pass a function as a referenced variable
> because of corruption issues that in the past of PHP have lead to problems,
> which are now being fixed up in recent PHP versions.

yes of course, but it doesn't passes a function, it passes a variable!

>> what do you think is easier to read? and why should this not work in PHP?
> I consider it good coding style to not obfuscate function calls.

yes of course thats why variables names are descriptive


everything is clear, but

db_close(true, false);

is obfuscated!

so i would prefer

db_close($clean_cache = true, $unset_global_link_variable = false);


whatever, i still think this is a php bug!

Sebastian Mendel

www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

More information about the Developers mailing list