`== 3` is just asking for trouble in my opinion (that's how boundary-check bugs creep in). There's nothing stopping the user from passing in additional arguments in PHP.