我正在查看一个php脚本(whmcs的namesilo模块)并找到了这个函数
function namesilo_transactionCall($callType, $call, $params)
以及稍后在脚本中,使用以下代码调用它
namesilo_transactionCall("getNameServers", $apiServerUrl . "/api/getDomainInfo?version=1&type=xml&key=$apiKey&domain=$sld.$tld");
当它被调用时,只有两个参数,当声明函数时,$ params不是可选的。这怎么可能。我是相对较新的php
答案 0 :(得分:1)
我看到@Alireza Fallah评论,并决定回答。为什么不可能?
<?php
function namesilo_transactionCall($callType, $call, $params){
var_dump($callType);
}
namesilo_transactionCall(1,1);
// OUTPUT
1
?>
如果你没有通过定义的非可选的agrument - 解释器生成Warning
,如:
Warning: Missing argument 3 for namesilo_transactionCall()
设置error_reporting(0)
- 你永远不会看到这个。通常,您可以不指定所有参数,如:
function A(){
print_r(func_get_args());
}
// and call
A(1,2,3,4,5,6,7,8....N);
这段代码可行。在PHP中查看有关functions的更多信息。