确保对象数组的所有成员具有相同计数的更好方法

时间:2013-09-09 18:16:54

标签: php oop if-statement methods

我正在试图找出一种更好的方法来确定一个对象数组的四个成员是否拥有相同的计数,我在我的方法中有这个代码,但看起来这应该可以被推到它的改为使用受保护的方法我确信有更好的方法可以做到这一点,但我想不出更好的方法?我现在设置开关的方式看起来很笨拙而浪费代码

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

2 个答案:

答案 0 :(得分:0)

这是一个镜头......

可选类:

public function areAllEqual( )
{

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

}

答案 1 :(得分:0)

$test = array(count($foo), count($bar), count($baz));
return (count(array_unique($test)) == 1);

(这允许您只需将它们添加到$test数组即可测试更多属性。)如果您将$ this-> optional-> foo(等)更改为$ this-> optional [' foo'],您可以轻松使用数组方法并保存此步骤。