On 12 Feb 2012, at 18:51, Tim Streater wrote: > I have a function defined thus: > > function my_func (&$arg1, $arg2, $arg3, $arg4, $arg5, &$arg6) > { > > // code here > > } > > I call this with variously the first three arguments only, or all six, taking care that if I call it with fewer arguments then I don't try to acces $arg4, $arg5, or $arg6 (which is passed by reference, as is $arg1). > > On my first attempt to execute this, I'm getting: > > Missing argument 4 for my_func(), called in /path/to/source/file1.php at line 556 and defined > in /path/to/source/file2.php at line 3 > > Is this because $arg6 is passed by reference? There is some reference to this in the docs and the user notes but it's a little unclear. Or is there another reason? Optional arguments must be given a default value... function my_func(&$arg1, $arg2, $arg3, $arg4 = null, $arg5 = null, &$arg6 = null) Note that passing a default value by reference was not supported prior to PHP5. All the relevant details are here: http://php.net/functions.arguments -Stuart -- Stuart Dallas 3ft9 Ltd http://3ft9.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php