| 
	
 | 
 Posted by Darko on 11/06/07 20:02 
On Nov 6, 8:27 pm, Csaba Gabor <dans...@gmail.com> wrote: 
> In the following PHP code, the final printed line shows 'frob: 
> something'.  Why is it not 'frob: else'?  After all, if I replace the 
> first line with $frob = "something"; test ($frob); then the final 
> printed line does show 'frob: else' 
> 
> Csaba Gabor from Vienna 
> PHP 5.2.4 on WinXP Pro 
> 
> test ($frob = "something"); 
> print "frob: $frob <br>\n"; 
> 
> function test(&$val) { 
>   print "val pre: $val <br>\n"; 
>   $val = "else"; 
>   print "val post: $val <br>\n"; } 
 
Interesting, indeed. In C++, for an example, it must work as you 
expected, and works indeed, since "something" is first assigned to 
$frob, then it's passed over to the function, and it does whatever it 
wants with it. Here, however, some double assignments seem to have 
happened. Is it a bug, or is it some kind of php-specific behaviour, 
other users might now.
 
  
Navigation:
[Reply to this message] 
 |