0

我试图找出一种更好的方法来确定对象数组的四个成员是否拥有相同的计数,我的方法中有这段代码,但似乎这应该能够被推到它自己的受保护方法中反而。我确定有更好的方法可以做到这一点,但我就是想不出更好的方法?我现在设置开关的方式看起来很笨重而且浪费代码

if (count($this->optional->foo) === count($this->optional->bar) 
=== count($this->optional->baz) === count($this->optional->qux)
) {
    /** continue **/
} 
4

2 回答 2

0

这是一个镜头...

选修课:

public function areAllEqual( )
{

    return count( $this->foo ) === count( $this->bar ) === count( $this->baz ) === count( $this->qux );

}
于 2013-09-09T18:41:59.203 回答
0
$test = array(count($foo), count($bar), count($baz));
return (count(array_unique($test)) == 1);

(这允许您通过将更多属性添加到$test数组中来测试它们。)如果您将 $this->optional->foo (etc) 更改为 $this->optional['foo'],您可以轻松地使用数组方法和保存这一步。

于 2013-09-09T18:49:28.310 回答