Say I've defined a function in PHP, and the last parameter is passed by reference. Is there any way I can make that optional? How can I tell if it's set?
I've never worked with pass-by-reference in PHP, so there may be a goofy mistake below, but here's an example:
$foo;
function bar($var1,&$reference)
{
if(isset($reference)) do_stuff();
else return FALSE;
}
bar("variable");//reference is not set
bar("variable",$foo);//reference is set
Taken from PHP official manual:
NULL can be used as default value, but it can not be passed from outside
<?php
function foo(&$a = NULL) {
if ($a === NULL) {
echo "NULL\n";
} else {
echo "$a\n";
}
}
foo(); // "NULL"
foo($uninitialized_var); // "NULL"
$var = "hello world";
foo($var); // "hello world"
foo(5); // Produces an error
foo(NULL); // Produces an error
?>