Вот расширенная версия версии @Mark Byers, нацеленная на то, чтобы сделать логику более понятной.
$result_code = 0;
if ($team_a->win()) $result_code += 1;
if ($team_b->win()) $result_code += 2;
switch ($result_code) {
case 0:
//stalemate
case 1:
//a wins
case 2:
//b wins
case 3:
//draw
}
Это очень хорошая процедура, одна из цифр, которая не складываетсятот же результат в любой комбинации, и я думаю, у вас будет много поводов использовать его в будущем.Это та же логика, которая используется в разрешениях * nix, и может работать также с <2 операндами: если бы их было три, вы могли бы использовать 4, 2 и 1. и т. Д.обработка, так как вы вызываете методы командных объектов только один раз. </p>