Re: function array problem

From: Date: Wed, 18 Feb 2009 16:21:06 +0000
Subject: Re: function array problem
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-288542@lists.php.net to get a copy of this message
Thodoris 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 >> >> >> > > While reading this thread I've noticed that you all use "venue" in the > index of the parameter array. Is this intended or you actually mean > "value"? > > You may want to consider these functions: > > |func_get_args > ||func_get_arg| > |func_num_args| > > to make the functions input more loose and have it accept multiple > formats as needed like one dimensional, two dimensional or simple > parameters the same time. > I'm not sure what the OP meant, but venue is a location, for example the location of a Metallica concert or the location of a court proceeding. Latin venire (to come) -- Thanks! -Shawn http://www.spidean.com

« previous php.general (#288542) next »