-1

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

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

include 'secondscript.php';

//socket stuff, create $variable from input received

functionName()

或者像这样:

include 'secondscript.php';

//socket stuff, create $variable from input received

functionName($variable)

我知道这是一个“全球”声明,但我无法理解它的重要性。当然,我想知道这是否是导致某些东西不起作用的原因。

非常感谢。

4

2 回答 2

2

您确实需要阅读函数的基础知识。

functionName();

意味着您正在请求一个函数并且没有向它传递任何信息。

functionName($someVar);

表示您正在向它发送$someVar变量中的信息。

于 2012-08-03T12:45:48.433 回答
0

扩展上述内容:

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

您将始终想知道向函数传递和从函数传递的参数和类型。至少,如果您不想在函数定义中定义参数,但仍将它们作为参数传递给函数调用,则可以通过以下方式获取传递的参数func_get_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');
于 2012-08-03T13:41:39.260 回答