目前我有以下代碼從內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