Reply to Re: optional argument when creating a function

Your name:

Reply:


Posted by Matthew Weier O'Phinney on 08/17/05 18:51

* 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/

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация