选项1:
<?php
function hookRequest($func, $params = array()){
var_dump($func);
var_dump($params);
}
hookRequest('func1', array('param1', 'param2'));
选项2:
<?php
function hookRequest($func, $params){
var_dump($func);
var_dump($params);
}
hookRequest('func1', array('param1', 'param2'));
问题:
以上两个脚本都可以使用。但我看到一些脚本使用这种方式:$params = array()
,所以只想找出$params = array()
和$params
之间有什么区别?
答案 0 :(得分:2)
如果你没有将任何内容传递给option1
hookRequest('func1');
然后$ params现在是一个空数组。
function foobar($something,$foo = 'var')
{
var_dump($something,$foo);
}
foobar('something');
输出:
string(9) "something" string(3) "var"
答案 1 :(得分:1)
查看
中的“功能参数”基础知识答案 2 :(得分:0)
不同之处在于选项1使第二个参数成为可选项,因此您可以省略第二个选项,并将默认值赋予$ param。
选项2需要第二个参数,如果您不提供至少两个参数,则会返回警告,例如
Warning: Missing argument 2 for hookRequest
答案 3 :(得分:0)
它被称为default parameters in PHP。
当您声明函数时,hookRequest($func, $params = array()){...
$paramas = array()
告诉它在传递的参数为空时将其设置为数组。