HostingTrade :: Powerful Hosting Solutions
Home Hosting Domains Support About
Satisfied Customers - that's our brand...
Client Login




Support
FAQ
Forums
HelpDesk (NEW!)

Documentation

Statistics
Goodies
HostingTrade.com Web Hosting
Status Verified by
Web Hosting Stuff

Monitored by
UptimeAgent

DNameTrade.com :: Low Cost Domain Names
.: Useful Links :.

Confused with
tech-lingo?

NetLingo.com
Documentation

Passing by Reference

You can pass variable to function by reference, so that function could modify its arguments. The syntax is as follows:

<?php
function foo (&$var)
{
    
$var++;
}

$a=5;
foo ($a);
// $a is 6 here
?>

Note that there's no reference sign on function call - only on function definition. Function definition alone is enough to correctly pass the argument by reference.

Following things can be passed by reference:

  • Variable, i.e. foo($a)

  • New statement, i.e. foo(new foobar())

  • Reference, returned from a function, i.e.:

    <?php
    function &bar()
    {
        
    $a = 5;
        return
    $a;
    }
    foo(bar());
    ?>

    See also explanations about returning by reference.

Any other expression should not be passed by reference, as the result is undefined. For example, the following examples of passing by reference are invalid:

<?php
function bar() // Note the missing &
{
    
$a = 5;
    return
$a;
}
foo(bar());

foo($a = 5); // Expression, not variable
foo(5); // Constant, not variable
?>

These requirements are for PHP 4.0.4 and later.

 
© 2003-2009 . Service Line, Inc.
2Checkout.com, Inc. is an authorized retailer of HostingTrade.com