PHP函数参数my#u func($param=';';)

PHP函数参数my#u func($param=';';),php,Php,我今天看到一些我不懂的PHP,有人能给我解释一下吗 function my_func($param='') { if (empty($param)) { return false; } else { return true; } } 我不明白的是$param变量被分配了一个空字符串,但在函数内部却不是空的?这只是一个默认值吗?是的,您可以在PHP中为参数指定一个默认值。例如,您可以使用my_func(“无空字符串

我今天看到一些我不懂的PHP,有人能给我解释一下吗

function my_func($param='')
{

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

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

是的,您可以在PHP中为参数指定一个默认值。例如,您可以使用my_func(“无空字符串”)覆盖它

是的,您可以在PHP中为参数指定默认值。例如,您可以使用my_func(“无空字符串”)覆盖它

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

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


这段代码的一个潜在缺陷是传递参数时带有空值(0、null等)。即使传递了参数,代码仍将返回
false

您的假设是正确的;这允许开发人员为参数指定默认值

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


这段代码的一个潜在缺陷是传递参数时带有空值(0、null等)。即使传递了一个参数,代码仍将返回
false

是的,函数声明括号内的变量是一个默认值,因此您可以这样调用函数:

echo my_func();

无需实际将变量传递给函数。

是的,函数声明括号内的变量是一个默认值,用于如下调用函数:

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

my_func() //picks default making $param ''
根本不需要向函数实际传递变量

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.
您可以有必需的和可选的参数,如

function my_func($param1, $param2='default')
您不能将可选参数置于所需参数之后

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

PHP函数文档:可能与@Shiplu重复,我不同意。这个问题有点不同,它没有参考默认参数值。谢谢大家,不好意思,我不能接受多个答案:(PHP函数文档:可能重复@Shiplu我不同意。这个问题有点不同,它没有参考默认参数值。谢谢大家,不好意思,我不能接受多个答案:(