Passing by Reference

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. In recent versions of PHP you will get a warning saying that "Call-time pass-by-reference" is deprecated when you use a & in foo(&$a);.

The 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()); // Produces fatal error since PHP 5.0.5

foo($a = 5); // Expression, not variable
foo(5); // Produces fatal error
?>

These requirements are for PHP 4.0.4 and later.



Links
Apollo Hosting $6.96/mo
  • 3GB Diskspace
  • 100GB Bandwidth
  • Live 24/7 Support
  • SpamAssassin
  • Urchin Web Analytics

Aplus.net $7.46/mo
  • 170GB Diskspace
  • 2000GB Bandwidth
  • PHP Perl Ruby C/C++ Python TCL SSI CGI
  • 2 Free Domain Names
  • DNS Management
  • 99.99% Uptime

HostGator $9.95/mo
  • 100GB Diskspace
  • 1000GB Bandwidth
  • Host Unlimited Domains
  • CPanel
  • PHP CGI SSH SSI
  • Instant Backups
  • 99.9% Uptime Guarantee
  • 30 Day Money Back

Hosting Companies


Partners


Quick Search
Platform

Price

Diskspace

Bandwidth


 Advance Search
 Show All Companies


Reference & Manual

If you are looking for dedicated servers, look no further. HostPulse.com is a site devoted to help web users find cheap web hosting and dedicated servers.


Free Sitemap Generator Host Login/Register | Contact Us | Terms | Add Links
Thumbnails by Thumbshots.org © 2002-2008 CheapHostDir.com