>的最佳做法<和==在一个函数中

时间:2015-06-18 18:58:52

标签: php if-statement integer comparison

我遇到了一个难题,我通常只使用一堆ifs或开关。

为了正确看待这一点,我正在研究的当前项目涉及比较图像的宽度和高度,以获得一个数字来确定宽度是否长于高度或相同。

到目前为止,这是我的代码:

private function compare($width, $height)
{
    return $width - $height;
}

这可以按照您的预期运作。

我想知道的是,如果有更好的方法可以做到这一点:

    if($this->compare($this->width, $this->height) == 0)
    {

    }
    if($this->compare($this->width, $this->height) < 0)
    {

    }
    if($this->compare($this->width, $this->height) > 0)
    {

    }

由于

2 个答案:

答案 0 :(得分:2)

对于方法compare()返回的值,你只有三个可能性,所以我们只需要做两个条件并且可以忽略一个:

$recievedValue = $this->compare($this->width, $this->height);
if( $recievedValue == 0 )
{
     // The value is equal to 0
}
else if( $recievedValue < 0 )
{
    // The value is less than 0
}
else
{
    // The value is more than 0
}

答案 1 :(得分:0)

你可以把它变成psr2抱怨:

if ($this->compare($this->width, $this->height) == 0) {

} elseif ($this->compare($this->width, $this->height) < 0) {

} else {

}

了解更多: PSR-2 Coding Style Guide