PHP函数参数my_func($ param ='')

时间:2012-03-06 14:23:48

标签: php

今天我看到一些PHP我不明白,有人能解释一下吗?

function my_func($param='')
{

    if (empty($param))
    {
        return false;
    }
    else
    {
        return true;
    }
}

我不明白的是,$ param变量被分配了一个空字符串,但在函数内部不是空的?这只是一个默认值吗?

4 个答案:

答案 0 :(得分:2)

my_func("string") //makes $param "string"

my_func() //picks default making $param ''

您可以拥有必需和可选的参数,例如

function my_func($param1, $param2='default')

您不能将可选参数置于必需的参数之后

function my_func($param1='', $param2) //gives errors.

答案 1 :(得分:1)

是的,您可以在PHP中为param分配默认值。您可以使用my_func(“None Empty String”)覆盖它,例如!

答案 2 :(得分:1)

你的假设是正确的;这允许开发人员为参数分配默认值。

如果调用代码未传递参数值,则该函数返回false。否则,$param非空,函数返回true。

此代码的潜在缺陷是使用空值(0,null等)传递参数的情况。即使传递了参数,代码也会返回false

答案 3 :(得分:1)

是的,函数声明的括号内的变量是默认值,并且被使用,因此您可以像这样调用函数:

echo my_func();

根本不需要将变量实际传递给函数。