这或多或少是可读性,可维护性和/或最佳实践类型问题。
我想得到SO的意见。来自函数中多个点的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
}
?>
答案 0 :(得分:1)
作为一种练习,我总是尝试从任何功能中的一个点返回,这通常是最后一点。我将它存储在变量说$retVal
中,并在函数的末尾返回它。它使代码看起来更加清晰。
话虽如此,有些情况下,在你的函数中作为第一行检查var是否为null,如果是,则返回。在这种情况下,没有必要保留该变量,然后添加额外的检查以跳过所有函数代码以最终返回该变量。
所以......最后,两种方式都有效。它总是取决于具体情况以及您更熟悉的内容。