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 > > Here's how I handle making sure I have the correct structure. function something(array $array=array()) { $defs = array('name' => '', 'venue' => '', 'description' =>'', 'errors' => Array()); $array = array_merge($defs, $array); .... } -- http://www.voom.me | EFnet: #voom -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php