功能php中的可选参数?

时间:2014-01-26 19:17:03

标签: php function arguments optional

我正在查看一个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

1 个答案:

答案 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的更多信息。