Re: Reference return buggy notice?

From: Date: Fri, 19 Oct 2007 13:37:20 +0000
Subject: Re: Reference return buggy notice?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-263380@lists.php.net to get a copy of this message
On 10/19/07, Stut <stuttle@gmail.com> wrote: > > Ondra Zizka wrote: > > Hello, > > > > please look at the code bellow and tell if it does not conform to rules > of > > returning a reference from a function. > > In the first method, I return reference to $sRet variable, and PHP is > quiet. > > But in the second, PHP says: > > > > Notice: Only variable references should be returned by reference in > > C:\web\php_bug_reference_return.php on line 8 // return $ref =& > > $this->ReturnReference(); > > (Note that the notice does not concern the first method as the notice > > appears even if I remove references from the first method.) > > > > But I am still just returning a reference to a variable, so I guess it's > > actually correct, isn't it? > > > > Thanks for oppinions. > > Ondra Zizka > > > > > > <?php > > class A { > > function &ReturnReference(){ > > $sFoo = "Hi."; > > return $sRet =& $sFoo; > > } > > function &RequireReference(){ > > return $ref =& $this->ReturnReference(); > > } > > } > > > > $oA = new A(); > > $ref = $oA->RequireReference(); > > ?> > > When you define a function as returning a reference (with the & prefix) > you do not need to get the reference yourself, PHP will do it for you. > The following should work fine... > > <?php > class A > { > function & ReturnReference() > { > $sFoo = "Hi."; > return $sFoo; > } > > function & RequireReference() > { > $retval = $this->ReturnReference(); > return $retval; > } > } > > $oA = new A(); > $ref = $oA->RequireReference(); > ?> > > -Stut I know we went over references (C) in first semester programming. Excuse me if this is too trivial, but why would you want to use a reference? I thought in PHP, specifically, that it is unnecessary to use references. A lil' embarrassed, ~Philip

« previous php.general (#263380) next »