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