如何将(可选)参数传递给用户定义的函数?
我的意思是,如何将参数传递给函数?
您的用户函数调用是否如下所示:
$this->getSomeNumber($firstArg, $secondArg, null);
或者您是否检测到传递给函数的参数数量然后执行工作?
我想知道是否有任何编码风格涵盖这一点。其他编程语言如何处理这个问题?
更新
那些不明白的人的例子:
function doSmth($firstArgument) {
if(func_num_args() > 1) {
//do job if second argument was passed
}
}
第二个例子:
function doSmthElse($firstArgument, $secondArgument) {
if($secondArgument) {
//do job if second argument was passed
}
}
然后你这样称呼它:
doSmth($var, $secondvar) or doSmth($var)
//**OR**
doSmthElse($var, $secondvar) or doSmthElse($var, null)
哪个更好用?我的意思是其他程序员对你的期望是什么?
I mean, how do you pass your arguments to a function?
Do your user function call looks like this:
$this->getSomeNumber($firstArg, $secondArg, null);
or do you detect how many arguments was passed to the function and then do the job?
I wonder if is there any coding style covering this. And how do other programming languages handle this?
UPDATE
Example fot those, who not understand:
function doSmth($firstArgument) {
if(func_num_args() > 1) {
//do job if second argument was passed
}
}
Second example:
function doSmthElse($firstArgument, $secondArgument) {
if($secondArgument) {
//do job if second argument was passed
}
}
And then you call it like:
doSmth($var, $secondvar) or doSmth($var)
//**OR**
doSmthElse($var, $secondvar) or doSmthElse($var, null)
Which is better to use? I mean which do other programmers expect from you?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果参数是可选,通常使用默认值指定它:
如果函数采用多个可选参数,请像上面的示例一样显式指定它们。
如果函数采用可变数量的参数(例如,sprintf) ,然后使用 func_get_args &公司
如果函数采用必需的参数和可变数量的参数,则适用相同的方法:像第一个示例一样显式指定始终必需的参数。
使用注释来阐明变量参数等始终是一个好主意。使用数组可能是一个更好的主意,但这可能取决于您正在做什么。
If the argument is optional, specify it normally with a default value:
If the function takes multiple optional arguments, specify them explicitly like in the above example.
If the function takes a variable number of arguments (for example, such as sprintf), then use func_get_args & co.
If the function takes required parameters and a variable amount of parameters, the same approach applies: Specify always required parameters explicitly like in the first example.
Using comments to clarify variable args etc. is always a good idea. It might be an even better idea to use an array instead, but this would probably depend on what you're doing.
你想要在这些参数之前加上美元符号:
但是如果你真的想知道如何在 php 中使用可变数量的参数,请参阅帮助中的 func_num_args 和 func_get_args 。
You want dollar signs before those args:
But if you're really asking about how to use variable numbers of arguments in php, see func_num_args and func_get_args in the help.