Q: Какими могут быть условия в конструкции if? Ну понятно что могут быть условия типа a > b, a >= b, a + b = c, и так далее, а что-то ещё можно писать? Вот например мне надо написать - если адрес страницы, на который находится этот код, такой-то, то выводить то-то.
A: В условии 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 (включая любой ресурс). 
A: http://www.w3schools.com/php/php_operators.asp
A: if ($_SERVER['REQUEST_URI'] == "/somewhere/") {
print "selected";
}

или
print ($_SERVER['REQUEST_URI'] == "/somewhere/") ? 'selected' : '';
