我在查询数据库的类中有一个函数。我通过使用基于变量的where子句动态创建查询。
说我有这样的方法:
function getBackups($from, $to, $clientid){
//sql here
//add where clause if $from and $to not null...
}
如果我想在某个地方调用它在我没有来自或变量的情况下我会简单地放置$ backups-> getBackups()但是我会收到有关缺少参数的错误。
如果我这样做:
function getBackups($from = null, $to = null, $clientid = null){
//sql here
//add where clause if $from and $to not null...
}
这会是解决方案吗?或者如果我没有传递参数,它会更像这样吗?
$backups->getBackups($from = null, $to = null, clientid = null)
希望这是有道理的,
Jonesy
答案 0 :(得分:1)
function getBackups($from = null, $to = null, $clientid = null){
//sql here
//add where clause if $from and $to not null...
}
是具有可选参数的函数的解决方案,如果这就是你的意思。
答案 1 :(得分:1)
你可以做你说的话:
function getBackups($from = null, $to = null, $clientid = null){
//sql here
//add where clause if $from and $to not null...
}
然后你就可以这样称呼它:
$backups->getBackups()
或者你可以致电
$backups->getBackups($from, $to, $clientid)
在函数内部,您可以检查参数是否为空(或您想使用的任何其他默认值),并根据参数执行代码。
HTH问候。
答案 2 :(得分:1)
可选参数就像这样简单:
function getBackups($from = null, $to = null, $clientid = null){
//sql here
//add where clause if $from and $to not null...
}
要打电话,你只需致电:
backups->getBackups();
或
backups->getBackups("from");
如果您在函数中包含任何参数,它们将按它们出现的顺序替换默认值。