php:传递值到参数的问题

时间:2013-08-15 01:38:18

标签: php

选项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之间有什么区别?

4 个答案:

答案 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)

查看

中的“功能参数”基础知识

http://php.net/manual/en/functions.arguments.php

答案 2 :(得分:0)

不同之处在于选项1使第二个参数成为可选项,因此您可以省略第二个选项,并将默认值赋予$ param。

选项2需要第二个参数,如果您不提供至少两个参数,则会返回警告,例如

Warning: Missing argument 2 for hookRequest

答案 3 :(得分:0)

它被称为default parameters in PHP

当您声明函数时,hookRequest($func, $params = array()){... $paramas = array()告诉它在传递的参数为空时将其设置为数组。