Page 1 of 1

optional reference parameter to function

Posted: Wed May 12, 2004 11:07 am
by Weirdan
is there way to have optional reference parameter in function signature? something like:

Code: Select all

function some_func(&$param = null) {
  if( is_null($param) ) {
       // do something...
  } else {
       // do something else...
  }
}
// or
function some_other_func() {
   if( func_num_args() ) {
       $param =& func_get_arg(0);
        // do something...
   } else {
        // do something else...
   }
}
first example yields parsing error, second copies parameter instead of getting reference to it.

Any ideas?

Posted: Wed May 12, 2004 11:40 am
by Weirdan
actually, one can do:

Code: Select all

function some_func( $param = array() ) {
   if( isset($param[0]) ) {
       $param =& $param[0];
        // do something
   } else {
       // do something else
   }
}
$arr = arrray();
some_func(array(&$arr));
var_dump($arr);
but is there more elegant solution?
I don't like this mess in function signature ;)

Posted: Wed May 12, 2004 5:16 pm
by pickle
If there isn't I haven't found it. That's the only way I think.