Re: Tidying code for PHP5.0.5/PHP4.4.0

From: Date: Tue, 20 Sep 2005 09:57:18 +0000
Subject: Re: Tidying code for PHP5.0.5/PHP4.4.0
References: 1 2 3 4 5  Groups: php.general 
Request: Send a blank email to php-general+get-222744@lists.php.net to get a copy of this message
Jochem Maas wrote:
Jasper Bryant-Greene wrote:
From the PHP manual [2]: | the following examples of passing by reference are invalid: | | foo(bar()); // Produces fatal error since PHP 5.1.0 | foo($a = 5); // Expression, not variable
if foo() expects one args by reference then why is doing: foo($a = 5); ..wrong? I always thought that the expression (in this form) 'returns' the variable? or does it need to be:?
Yes, but how can you modify "$a = 5" from within foo()? It's an expression, not something that can be modified. This one is, admittedly, kinda shaky.
I can understand that the following are wrong: foo(5); // not sure this is wrong.
This is definitely wrong. For example: <?php function foo(&$a) { $a = 6; } foo(5); ?> Is obviously impossible, as it tries to assign the value 6 to the constant value 5. -- Jasper Bryant-Greene Freelance web developer http://jasper.bryant-greene.name/

« previous php.general (#222744) next »