Yeah, I get what references are. The point is that when it was on the user
to decide, they could do it. Now that PHP5 makes you put the & in the
function declaration instead of the passing parameter, you don't know what
the user is going to send. Therefore it renders the & in the function
declaration a useless thing.

I could have this function

        Function add (&$a, &$b)
        {
           return ($a + $b);
        }

And as a user I could use it like so:

        $x = 5;
        $y = 10;
        add($x, $y);

Or I could also use it like this:

        add(5,10);

But since the function is now responsible in PHP5 to use the & [since
passing add(&$x, &$y); is now invalid],  it makes my function add basically
useless.


> -----Original Message-----
> From: Red Wingate [mailto:[EMAIL PROTECTED] 
> Sent: Friday, July 16, 2004 5:35 PM
> To: [EMAIL PROTECTED]
> Subject: [PHP] Re: PHP5 and pass by reference bug.
> 
> Maybe you recheck the dokumentation on what exactly 
> referenzes are. Do 
> you expect the function to alter the string "something here" 
> and every-
> time you later print the string within your script you get 
> the altered one?
> 
> ONLY variables can be passed by referenze !
> 
>   -- red
> 
> Daevid Vincent wrote:
> > So, I'm getting all these errors/warnings in PHP5 now 
> saying that I have to
> > put the & on the function and not in the passing (which 
> sorta makes sense
> > and puts the burden on the function rather than the user, 
> which I like too).
> > So I spend the time to go and fix several thousand lines of code.
> > 
> > Then I start to see these other errors...
> > 
> > Maybe I'm missing something, but this seems like a glaring 
> bug in passing by
> > reference that nobody caught...
> > 
> > say you have 
> > 
> >     function foo(&$bar) 
> >     {
> >     }
> > 
> > well that works great as long as you use it like
> > 
> >     foo($x);
> > 
> > but if you try 
> > 
> >     foo("something here");
> > Or
> >     foo( array('a','b','c') );
> > 
> > it shits the bed. :-(
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to