What about: function addEvent($values='') { !is_array($values) && $values = Array('name' => '', 'venue' => '', 'description' =>'', 'errors' => Array()); //rest of the code } It's nice and sort. 2009/2/17 Ashley Sheridan <ash@xxxxxxxxxxxxxxxxxxxx>: > On Tue, 2009-02-17 at 15:21 -0500, Andrew Ballard wrote: >> On Tue, Feb 17, 2009 at 3:29 PM, Ashley Sheridan >> <ash@xxxxxxxxxxxxxxxxxxxx> wrote: >> > On Tue, 2009-02-17 at 15:13 -0500, Bastien Koert wrote: >> >> On Tue, Feb 17, 2009 at 3:10 PM, Ashley Sheridan >> >> <ash@xxxxxxxxxxxxxxxxxxxx>wrote: >> >> >> >> > I've had a bit of a problem with a function I'm using for a form. >> >> > Essentially, the function looks like this: >> >> > >> >> > function addEvent($values = Array('name' => '', 'venue' => '', >> >> > 'description' => '', 'errors' => Array())) >> >> > { >> >> > // code here displays the form >> >> > } >> >> > >> >> > The function is used to both display an empty form, and the form >> >> > populated with values again should there be any validation errors. >> >> > >> >> > Now this works fine when the form has been filled out and there are >> >> > errors present, as I can call the function with the correct array >> >> > values. However, when I call the function with no arguments (intending >> >> > the function to populate the $values array itself) all it does is >> >> > present me with an empty array. A print_r($values) just returns >> >> > Array( ), no key values defined. >> >> > >> >> > I altered the function to this: >> >> > >> >> > function addEvent($values = Array()) >> >> > { >> >> > if(count($values) == 0) >> >> > { >> >> > $values = Array('name' => '', 'venue' => '', 'description' => >> >> > '', 'errors' => Array()); >> >> > } >> >> > // code here displays the form >> >> > } >> >> > >> >> > then all works as intended. Question is, am I being dense, or is there a >> >> > reason why this shouldn't work? >> >> > >> >> > >> >> > Ash >> >> > www.ashleysheridan.co.uk >> >> > >> >> > >> >> > -- >> >> > PHP General Mailing List (http://www.php.net/) >> >> > To unsubscribe, visit: http://www.php.net/unsub.php >> >> > >> >> > >> >> >> >> i tend to do >> >> >> >> function addEvent($values='') >> >> { >> >> if (!is_array($values)) >> >> { >> >> $values = Array('name' => '', 'venue' => '', 'description' =>'', >> >> 'errors' => Array()); >> >> } >> >> //rest of the code >> >> >> >> } >> >> >> >> >> >> >> > It's a shame really, because to me it just seems darn messy to have to >> > perform a check inside the function itself and initialise variables >> > there. Putting such initialisations inside the parentheses seems more >> > elegant. :( >> > >> > >> > Ash >> > www.ashleysheridan.co.uk >> >> To each their own. I think having an array (especially nested arrays) >> embedded in the parameter list of a function declaration like that >> looks kind of ugly, but that's just me. >> >> Andrew >> > You kidding? Nested arrays is what makes me get up in the morning! > > > Ash > www.ashleysheridan.co.uk > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php