* D A GERM <dgerm@xxxxxxxxxxxx>: > I'm throwing a warning on a function I created. I > thought a & in front of the argument was supposed to > make it optional. Is there something else I need to do > make that argument optional? As others have noted, the ampersand tells the function to grab a reference to the variable passed. There are two ways to do optional arguments: 1) Set a default value for the argument (must be last argument in the list, or else all other arguments in the list must also have default values): function doEmail($username, $link = null) {} function doEmail($username, $link = null, $linkName = '') {} 2) Parse the argument list via the func_* functions: function doEmail($username) { $argCount = func_num_args(); if (1 < $argCount) { // Retrieve second argument, from a 0-based array: $link = func_get_arg(1); } ... } function doEmail($username) { $argCount = func_num_args(); if (1 < $argCount) { // Retrieve all arguments $args = func_get_args(); // Remove $username from it array_shift($args); // Get $link: $link = array_shift($args); } ... } -- Matthew Weier O'Phinney Zend Certified Engineer http://weierophinney.net/matthew/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php