Andrew Ballard 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 >> >> > > It seems to work OK for me. I typically use your altered format or the > form that Bastien posted (except I usually default the parameters to > null rather than an empty string) though. > > <?php > > function addEvent($values = Array('name' => '', 'venue' => '', > 'description' => '', 'errors' => Array())) > { > // code here displays the form > print_r($values); > } > > addEvent(); > > ?> > > > X-Powered-By: PHP/5.2.0 > Content-type: text/html > > Array > ( > [name] => > [venue] => > [description] => > [errors] => Array > ( > ) > > ) > > > Andrew Works great for me also: PHP 5.2.4-2ubuntu5.5 with Suhosin-Patch 0.9.6.2 -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php