On 10/19/07, Stut <[EMAIL PROTECTED]> 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