Re: function array problem
| From: | Shawn McKenzie | Date: | Tue, 17 Feb 2009 22:11:22 +0000 |
| Subject: | Re: function array problem | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-288494@lists.php.net to get a copy of this message | ||
Andrew Ballard wrote:
> On Tue, Feb 17, 2009 at 3:10 PM, Ashley Sheridan
> <ash@ashleysheridan.co.uk> 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