class Grade { enum { A_PLUS, A, B_PLUS, B, ..., FAIL, NOT_AVAILABLE, } public static function passing($grade) { return $grade>=self::D; } } $grade=Grade::B; echo Grade::passing($grade)?"passing":"not passing";Shouldn't that be: public static function passing($grade) { -return $grade>=self::D; +return $grade<=self::D; The passing grades all appear before D in the enum, and I expect those to have lower values. Also, I would probably put NOT_AVAILABLE first, since it's underlying value is 0. But then the programmer isn't supposed to consider the underlying values...
I agree with all you said. Ben. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
