這或多或少是可讀性,可維護性和/或最佳實踐類型問題。從函數中的多個點返回
我想獲得關於某事的意見。 return
從一個函數中的多個點是不好的練習?例如。
<?php
// $a is some object
$somereturnvariable = somefunction($a);
if ($somereturnvariable !== FALSE) {
// do something here like write to a file or something
}
function somefunction($a) {
if (isset($a->value)) {
if ($a->value > 2) {
return $a->value;
} else {
return FALSE;
} else {
// returning false because $a->value isn't set
return FALSE;
}
}
?>
還是應該是這樣的:
<?php
// $a is some object
$somereturnvariable = somefunction($a);
if ($somereturnvariable !== false) {
// do something here like write to a file or something
}
function somefunction($a) {
if (isset($a->value)) {
if ($a->value > 2) {
return $a->value;
}
}
return FALSE
}
?>
在這種情況下,我會選擇第二個版本,因爲它更具可讀性。當然,如果你需要返回兩個以上的可能值,第二種方式是不可能的。 – 2013-05-03 18:34:18
看起來像一個偉大的[codereview](http://codereview.stackexchange.com/)問題... – 2013-05-03 18:36:48
真的...但比我必須創建另一個用戶名,必須去多個網站的問題...艾因沒有任何機構爲此付出時間。 – 2013-05-03 18:41:24