Re: optional argument when creating a function

From: Date: Wed, 17 Aug 2005 15:51:55 +0000
Subject: Re: optional argument when creating a function
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-220766@lists.php.net to get a copy of this message
* D A GERM <dgerm@shepherd.edu>: > 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/

« previous php.general (#220766) next »