Re: function array problem

From: Date: Wed, 18 Feb 2009 15:34:01 +0000
Subject: Re: function array problem
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-288538@lists.php.net to get a copy of this message
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. -- Thodoris

« previous php.general (#288538) next »