请解释函数($ variable)和函数()之间的区别

时间:2012-08-03 12:44:21

标签: php

我有两个脚本:第一个脚本通过套接字接收数据并用它做一些事情,第二个脚本包含一个由第一个脚本调用的函数。该函数恰好使用在第一个脚本中创建的变量。

从第一个脚本调用函数时,我应该像这样运行它:

include 'secondscript.php';

//socket stuff, create $variable from input received

functionName()

或者像这样:

include 'secondscript.php';

//socket stuff, create $variable from input received

functionName($variable)

我理解一个是“全球”声明,但我很难理解其重要性。当然,我想知道这是否会导致某些事情无法发挥作用。

非常感谢。

2 个答案:

答案 0 :(得分:2)

您真的需要阅读functions的基础知识。

functionName();

表示您正在请求函数并且不向其传递任何信息。

functionName($someVar);

表示您在$someVar变量中发送信息。

答案 1 :(得分:0)

扩展上述内容:

区别仅在于传递的参数。您可以通过函数中的global声明来访问变量,但就个人而言,我认为这是一个坏主意。

您总是想知道传递给函数和从函数传递的参数和类型。至少,如果你不想在函数定义中定义参数,但仍然将它们作为参数传递给函数调用,你可以通过func_get_args()之类的东西获取传递的args:

// definition
function funca(Array $arr){
    // This tells funca to only allow Arrays as the arg type
}

// definition
function funb(){
    $args = func_get_args();
    // You dont define args, but can still pull them.
}
//call
funcb('a', 'b');