这或多或少是可读性,可维护性和/或最佳实践类型问题。从函数中的多个点返回
我想获得关于某事的意见。 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