目前我有以下代码从内PHP函数调用的变量在外部函数使用
我“function.php”里面是
function calcTime($database_name,$currentTime){
global $startTime;
global $endTime;
...calcutions
return $startTime;
return $endTime;
}//end calcTime()
内我主“的index.php”我有
include('/function.php');
$databaseName = foo;
$currentTime = 12.30;
function begin($database_name,$currentTime){
...some calculations
calcTime($database_name,$currentTime); //calling the function from other file
echo $startTime;
echo $endTime;
}// end begin()
我遇到的问题是在内部函数内声明的变量不会传递给外部函数。我已经声明了变量全局变量并将其返回。不知道发生了什么事。
但有趣的是,如果我回声calcTime($ database_name,$ currentTime); $ startTime被返回,但不是$ endTime。
请帮忙。我有一些函数用于我希望以这种方式使用的其他函数。谢谢!!
我不是PHP'global'的专家,但至少我知道你不必返回什么是全局的,或者不必设置全局的,你返回的是什么。我认为**(这是我不确定的地方),当你在一个函数中使用它之前,你有一个已经存在于外部代码**中的变量时使用'global'。但是在你的代码中,$ startTime在函数调用之前不会被使用**。只需使用'list($ startTime,$ endTime)= calcTime($ database_name,$ currentTime);'并移除这两个'global'命令。当然,将两个'return'更改为'return array($ startTime,$ endTime);' – Aufziehvogel 2012-07-14 19:12:56
您只能从函数返回一次。但是,您可能会返回一组值或一个对象。 – knittl 2012-07-14 19:14:26