\n";
// Parameters may be sent by reference optionally.
function rabbit($a, $b)
{
$a = $b + 4;
$b += 7;
}
$x = 4;
$y = 5;
rabbit($x, $y); echo "$x, $y
\n";
rabbit(&$x, $y); echo "$x, $y
\n";
rabbit($x, &$y); echo "$x, $y
\n";
rabbit(&$x, &$y); echo "$x, $y
\n";
alice($x, &$y); echo "$x, $y
\n"; // Variables are local, unless declared otherwise. function narble() { global $night; $night = 7; $day = 44; } $night = 100; $day = 101; echo "$night $day "; narble(); echo "$night $day
";
// Can return references. References are reduced to ordinary data
// unless the & is used in the assignment.
$arr = array( 100, 101, 102, 103, 104, 105, 106 );
function &xyz($i)
{
global $arr;
return $arr[$i];
}
print_r($arr); echo "
";
$fred = xyz(2);
$fred = 4;
print_r($arr); echo "
";
$fred = &xyz(3);
$fred = 8;
print_r($arr); echo "
"; ?>