Re: Custom function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16 February 2011 00:21, Mark Kelly <php@xxxxxxxxxxxxxxx> wrote:
> Hi.
>
> On Tuesday 15 Feb 2011 at 23:41 Andre Polykanine wrote:
>
>> Give it a default (possible empty) value:
>>
>> function MyFunction($x, $y, $z="") {
>> // function goes here
>> if (!empty($z)) {
>> // The optional parameter is given
>> }
>> }
>
> Using an empty string and the empty() function in this way can lead to subtle
> and hard to find bugs - for example if $z = 0, the code will not be executed.
> Note the list of things that are considered empty:
>
> http://uk.php.net/manual/en/function.empty.php
>
> Instead, consider setting the default value for $z to boolean false:
>
> function MyFunction ($x, $y, $z = FALSE) {
> Âif ($z) {
> Â Â// do stuff with $z
> Â}
> }
>
> In this way almost any value in $z will trigger the conditional code,
> including 0 or an empty string. The exceptions are FALSE and NULL. If you
> explicitly need to react to a NULL value, use is_null() to detect it.
>
> Cheers,
>
> Mark

You also have the option of variable arguments.

function foo($x, $y) // 2 mandatory arguments
 {
 print_r(func_get_args()); // Show all arguments.
 }

func_get_args() will return an array of arguments to the function. All
of them, not just the declared ones.



-- 
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux