PHP:以等号作为参数的函数?

PHP:以等号作为参数的函数?,php,function,Php,Function,有人能给我解释一下函数定义中的变量声明吗,如下所示。目的是什么?我使用的编码语言是PHP function parse( $filename=FALSE ) { //some code } 这意味着当您调用parse函数时,该参数是可选的;如果不提供值,则将使用FALSE 您可以在“默认参数值”部分中查看有关的更多详细信息。这是函数的默认值。因此,如果调用parse(),则$filename将为FALSE。但是,您也可以调用parse(“/path/to/my/file”),然后$filena

有人能给我解释一下函数定义中的变量声明吗,如下所示。目的是什么?我使用的编码语言是PHP

function parse( $filename=FALSE ) {
//some code
}

这意味着当您调用
parse
函数时,该参数是可选的;如果不提供值,则将使用
FALSE


您可以在“默认参数值”部分中查看有关的更多详细信息。

这是函数的默认值。因此,如果调用parse(),则$filename将为FALSE。但是,您也可以调用parse(“/path/to/my/file”),然后$filename将包含“/path/to/my/file”

它是一个


这意味着在调用函数
parse
时,向其传递参数是可选的。如果不传递任何参数,变量
$filename
将采用默认值
FALSE
,但如果传递了一个参数,
$filename
将采用传递的值。

简单地说,它是该参数的默认值。如果调用parse函数时未传递$filename参数,则$filename变量将默认为FALSE

function echostring($string = "no string passed") {
echo $string;
}

echostring() // will echo "no string passed"
echostring("hello world") // will echo "hello world"

希望这会有所帮助,因为它只是参数的默认值,所以如果您没有在调用中指定它,函数仍然有一个值可供使用

换句话说,如果我写这个函数:

function doStuff($var1, $var2 = false) {
 // do stuff
}
然后像这样调用函数:

 doStuff("thing1");
 doStuff("thing1", false);
与这样称呼它完全相同:

 doStuff("thing1");
 doStuff("thing1", false);

另外,请稍微澄清一下您的问题:
=
运算符不是“等号”。它实际上是“赋值运算符”。要检查PHP中的相等性,请使用
=
(或者
==
,如果您想确保类型相同,而不仅仅是值相同)。

感谢您的快速响应,我将尽快(10分钟)接受此答案。@El yobo:感谢您的快速响应!