2012-09-17 42 views
3

當我顯示在PHP的錯誤消息,我通常像這樣做,在php中,「返回false」在echo語句之後做了什麼?

if($query){ 
    // Success code 
}else{ 
    // Error message 
    $error_msg = "An error occurred."; 
    return false; 
} 

和餘回聲在前端html頁面$error_msg變量。 我只是想知道變量後面的return false實際上是否做了什麼,或者它只是毫無意義地放在那裏?

我想優化我的代碼,只是想確保!提前感謝!

+1

取決於調用者的期望。但應該在可能的情況下使用例外。 –

回答

3

是的,它告訴函數停止執行,並返回一個值「false」。所以它做了一些事情。是否有用,取決於你的編程。

如果在echo之後沒有可執行文件,並且該函數不需要返回值,那麼它實際上不會執行任何有用的操作。

如果確實讓讀者更清楚「這是一個停止/失敗點」,但是。有一天,如果它真的有效或者失敗了,你可能會想要實際陷入困境 - 所以把它放在更清晰的地方。您還可以擴展該功能,而不用考慮並且需要對收益進行復制 - 再次,讓它更容易。

反過來說,也有C/Assembler日子裏的舊編程風格,你只有一個入口和一個出口點來幫助垃圾收集。對於PHP來說不是必需的,但是這種風格確實使它更加美觀和整潔。在這種情況下,設置返回值(如果需要)並在最後返回。

所以,去適合你的風格 - 但提前思考。把所有東西都做成原始的和毫不含糊的(即不必嚴格要求就行),並不總是最好的辦法。

1

返回false的一點是,您可以輕鬆地測試函數以查看它是否工作 - 無需進入任何潛在的錯誤消息等。

,對於一個故障可以以下面的方式使用返回false的函數:

if(someFunction($var)) 
{ 
    do stuff for function working... 
} 
else 
{ 
    // function failed. Do other stuff. 
} 

它也是直觀的一個功能時,它失敗返回false。它可以進一步使用這樣的:

$foo=someFunction($var); 
if($foo) 
{ 
    again, function has worked. 
}//... etc 

而同樣的函數返回的功能出現故障不能在TIS直觀的方式使用。

相關問題