假设我们想要从一个基于条件的函数返回一个值。我们可以通过两种方式做到这一点:
function foo($bar) {
if ($bar == 'value1') {
return 'baz';
}
else if ($bar == 'value2') {
return 'qux';
}
}
function foo($bar) {
$result = '';
if ($bar == 'value1') {
$result = 'baz';
}
else if ($bar == 'value2') {
$result = 'qux';
}
return $result;
}
我个人更喜欢第二种方法
你认为哪种方式更好(特别是考虑更长的if/else结构)?谢谢
就我个人而言,我喜欢第二种方式,因为它可读性更强,而且您不会在任何地方错过返回语句,尤其是当您有复杂的if/else结构时。
我发现这更可读/更干净/更可维护,但这可能只是个人性能的问题:
function foo($bar)
{
if ($bar == 'value1')
return 'baz';
if ($bar == 'value2')
return 'qux';
}
如果$bar/report的通信总是"一对一"的,你也可以这样做:
function foo($bar)
{
$ar_matches = array(
'value1' => 'baz',
'value2' => 'qux'
);
if (isset($ar_matches[$bar])
return $ar_matches[$bar];
}