В условии if() можно писать любые математические выражения, не только условные.
if ($a % $b)
if ($a = $b+$c)
if ($a++)
if (++$a)
if ($a >> $b)
if ($a === $b)
if ($a !== $b)
if ($res = mysql_fetch($sqlRes))
Дока по if:
http://www.php.net/manual/en/control-structures.if.php
Условие if работает так: оно проверяет результат выражения внутри скобок на предмет равенства TRUE или FALSE. Если результат имеет тип, отличный от Boolean, то сперва происходит конвертация в Boolean.
Дока по приведению к булевому типу:
http://www.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting
При преобразовании в логический тип, следующие значения рассматриваются как FALSE:
- Сам булев FALSE
- целое 0 (ноль)
- число с плавающей точкой 0.0 (ноль)
- пустая строка и строка "0"
- пустой массив
- объект без атрибутов (только PHP4)
- специальный тип NULL (включая неустановленные переменные)
Все остальные значения рассматриваются как TRUE (включая любой ресурс).