我有两个脚本:第一个脚本通过套接字接收数据并用它做一些事情,第二个脚本包含一个由第一个脚本调用的函数。该函数恰好使用在第一个脚本中创建的变量。
从第一个脚本调用函数时,我应该像这样运行它:
include 'secondscript.php';
//socket stuff, create $variable from input received
functionName()
或者像这样:
include 'secondscript.php';
//socket stuff, create $variable from input received
functionName($variable)
我理解一个是“全球”声明,但我很难理解其重要性。当然,我想知道这是否会导致某些事情无法发挥作用。
非常感谢。
答案 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');