2017-09-08 105 views
2

有點困惑函數返回。
如果我有一個沒有真正需要返回的函數,我是否必須返回0或返回false以獲得更好的代碼?php函數返回0或根本沒有返回

function example($time) 
{ 
    echo $time 
    //do i need to return 0 here? 
}; 

$foodstore = array('bread','milk','meat','fruits','veges'); 
$buyer_list = array('bread', 'milk', 'chocolate'); 
function example($buyer_list , $foodstore) 
{ 
    foeach($buyer_list as $item) 
    { 
     if(in_array($item, $foodstore) 
     { 
      return $item 
     } 
    } 
//if i have to return only a specific $item, do i need to return 0 if no $item is specified. 
} 

function example($filename) 
{ 
    $file = file_get_contents($filename); 
... 
    file_put_contents($filename, $file); 
//do i need to return 0 here? 
} 
+0

如果呼叫者不使用返回值,你沒有返回任何東西。 – Barmar

+0

如果你沒有返回,它實際上和'return null;'是一樣的。 – Barmar

+0

好吧,我想我現在得到它,不得不確定。謝謝。 –

回答

3

只是爲了闡明:如果函數不是無效函數,那麼應該總是返回一些東西。你必須問自己這個問題:

  • 爲什麼函數沒有返回所需的結果?
  • 在錯誤情況下應該返回什麼?
  • 它是否指定,當功能行爲不同?
  • 如果結果是意外的,調用者如何反應。

對於最後一點,它是必要的,你可以清楚地看到,錯誤值是什麼,例如通過在循環後明確添加return null;

一個好辦法迫使你想想你的功能是寫文檔一樣,PHPDoc

+0

您的鏈接無效。 – Qirel

+0

已修復,只需進入主域名頂級域名。 –