我更喜歡Python語言編程,但在PHP工作對特定網站的應用程序項目。我試圖從函數「返回」一個值到主程序環境(用於後續計算),但不管我嘗試在我的函數中計算的值是不是返回值(但從功能回聲工作正常)。返回變量在PHP不工作(即沒有返回值!)
在Python我從未有過的問題與返回的變量:即從函數返回的所有值都使用和訪問的主要程序和/或其他功能調用產生的返回值的功能。
是否有人可以告訴我怎樣才能解決這個問題呢?我一直在搜索谷歌和網站ike stackoverflow在過去的兩天沒有成功。我有許多O'Reilly計算機書籍,其中包括許多關於PHP的文章,我交叉引用了我的研究成果,並閱讀了有關RETURN函數的所有內容 - 看起來我做的都是正確的,甚至專門聲明要返回的值。能夠返回值並訪問這些值以便繼續進行此項目的開發至關重要 - 否則如果我無法返回要進一步處理的值,我會被卡住!
下面是相關代碼段:
// DECLARE FUNCTIONS
// FUNCTION
function Calculation_IsArray ($ArrayAny){
if (is_array($ArrayAny)) {
echo '<div>THIS VAR IS AN ARRAY</div>';
$Var_IsArray = TRUE;
return $Var_IsArray;
} else {
echo '<div>THIS VAR IS **NOT** AN ARRAY</div>';
}
}
聲明的功能,並做一些初始計算,以搶檢查的陣列後,我調用上述功能如下:
// CALL FUNCTION
Calculation_IsArray($ArrayOfValues);
我我希望程序調用函數Calculation_IsArray()並將它傳遞給要檢查的數組($ ArrayOfValues)。您可以從下面的輸出數組被傳遞和檢查,證實是數組類型看,兩者的foreach循環,以及爲IF/ELSE條件,做工精細,並呼應正確的輸出。但是,上面的代碼不會返回任何值,因爲您可以看到在檢查返回值(即,選中的數組)時返回的NULL值,它們在「返回」後可從主程序訪問。
而且這裏的結果回顯到瀏覽器屏幕(輸出):
這VAR是一個數組
返回數組=
NULL
價值$ Var_IsArray OF =
NULL
COUNT陣KEY ELEMENTS = 2
ARRAY KEY ELEMENTS are NUMERIC
KEY = 0,VALUE = Array
ARRAY KEY EL COUNT對此語句= 2
ARRAY關鍵要素是NUMERIC
KEY = 1,VALUE =陣列
我在這裏搜索到的計算器和發現的類似問題的報告(我甚至試圖測試解決方案,例如這些建議放置在不同的地方返回,在我的測試功能,測試它會工作),但沒有什麼工作,而這個失敗的返回值根據我讀的是PHP返回值,如果expliciting告訴回報是不符合邏輯的。
非常感謝您對這個問題的任何幫助!
[提交原題的後上方]:
我現在想通過創建一個名爲TestReturn.php測試腳本來隔離我的問題。
在該腳本中,我放置了下面的代碼,但仍然沒有返回值!
// DECLARE FUNCTIONS
// FUNCTION
function Calculation_IsArray ($ArrayAny){
if (is_array($ArrayAny)) {
echo '<div>THIS VAR IS AN ARRAY</div>';
$Var_IsArray = TRUE;
return $Var_IsArray;
} else {
echo '<div>THIS VAR IS **NOT** AN ARRAY</div>';
}
}
// BEGIN MAIN PROGRAM
$x = array(1, 2, 3, 4, 5, 6, 7);
Calculation_IsArray($x);
// COME BACK TO HERE AFTER THE FUNCTION RETURNS CALCULATED VALUE
echo '<div>HERE IS THE RETURNED VALUE AND VAR_DUMP BELOW:' . $Var_IsArray . '</div>';
var_dump($Var_IsArray);
這裏是在HTML輸出到瀏覽器標籤/窗/終端:
THIS VAR是一個數組
這裏是返回值和的var_dump BELOW:
NULL
「船長,這不計算!」,即這對我來說沒有意義,爲什麼PHP沒有返回我的價值,我專門告訴它返回到主程序!
我已經試過編碼,包括所有可能性:
return $variable;
return ($variable);
return() ; // i.e. I read somewhere that PHP by default returns the last calculated value in a function.
return ;
爲什麼PHP沒有返回自己的價值/可變回主程序?
你爲什麼不中else塊返回false? – SOFe
如果您可以發佈實際嘗試使用返回值的代碼,這將有所幫助。 –
謝謝,朋友們!在我發佈原創帖子之後,我回去做了一些測試,並使用簡化代碼更新了帖子,這些代碼實際上試圖在這裏使用返回值來爲你們複製和粘貼完整的問題代碼。我曾嘗試使用返回false,但默認情況下PHP(我讀)返回false/NULL。 –