我是 php 新手。我正在学习默认参数,所以我创建了这个函数。function doFoo($name = \'johnny\'){ echo \'Hello $name\' . \'
\';} 我做了这些调用doFoo();doFo...
我是 php 新手。我正在学习默认参数,所以我创建了这个函数。
function doFoo($name = "johnny"){
echo "Hello $name" . "<br />";
}
我打过这些电话
doFoo();
doFoo("ted");
doFoo("ted", 22);
前两个打印出了预期的内容,即
Hello johnny
Hello ted
但第三次调用也打印了
Hello ted
我原本预计会出现错误,毕竟该函数是为一个参数而创建的,而我却用两个参数来调用它。
为什么没有错误?
显然是因为 PHP 程序员喜欢这样。有一个字符串参数计数 RFC,用于在发送过多参数时发出通知,但令我沮丧的是,它被彻底拒绝了: https://wiki.php.net/rfc/strict_argcount