这是
吗?function doThings(){
if($oh){
return $oh;
}
return false;
}
等于这个
function doThings(){
if($oh){
return $oh;
}else{
return false;
}
}
谢谢!
答案 0 :(得分:9)
在上面列出的方案中,是。要么应该工作正常。我更喜欢第一种方法,更少打字和所有。
答案 1 :(得分:9)
是的,两者都是一样的。就个人而言,我更喜欢在同一个地方退出一个功能。 e.g。
function doThings(){
$flag = false;
if($oh){
$flag = $oh;
}
return $flag;
}
答案 2 :(得分:3)
是的,这些功能在行为上完全相同。
答案 3 :(得分:2)
他们或多或少等于:
function doThings(){
return $oh;
}
这并不严格,因为PHP有其他“假”值而不是假,但如果你想返回$oh
或假值,那么这样可以正常工作。
编写等效函数的另一种方法是:
function doThings(){
return $oh ? $oh : false;
}
答案 4 :(得分:1)
要回答这个问题,我们首先必须质疑我们作为个人和人民的身份......开玩笑,为了所有密集的目的,他们都是一样的。
答案 5 :(得分:1)
是的,他们是一样的。
快速提示:
我更喜欢以下内容:
function do() {
if (!$oh) {
return false;
}
return $oh;
}
这样你没有第二个例子中的额外支撑。但是你总是知道你的值返回的位置(在函数的末尾)。这样可以更快地定位和浏览功能。
答案 6 :(得分:1)
我会这样写:
function doThings() {
return $oh ?: false;
}
或者使用早期版本的PHP:
function doThings() {
return $oh ? $oh : false;
}
或者,取决于功能:
function doThings() {
$oh = null; // set to some default;
// do stuff
return $oh;
}
答案 7 :(得分:0)
沫:
如前所述,这两个功能完全相同。您可能还想尝试做这样的事情(这可能是有益的)
function doSomething() {
$return_value = false;
if($oh) {
$return_value = true;
}
return $return_value;
}
这不做任何特别的事情,它只是一次重组。
答案 8 :(得分:0)
两者都这样做。遇到return语句后,控件将传递回调用此函数的代码。
第一个优先于第二个,因为代码较少。
答案 9 :(得分:0)
答案 10 :(得分:0)
请注意,由于return是一种语言结构而不是函数,因此不需要围绕其参数的括号。将它们排除在外是很常见的,实际上你应该这样做,因为PHP在这种情况下做的工作较少。