Термин «одноместный», или «унарный», явно подразумевает, что число операндов (переменных), над которыми операция производит свое действие, равно единице.
Первая популярная одноместная операция, которая используется для пр оверки условий, — это операция ! (не, not). Она производит отрицание операнда. Отрицание значения true есть false, и наоборот, не false — есть true. Если переменная имеет нулевое значение указателя, то результат false, если же не нулевое — true.
$а = 5;
if(!$а) // проверка на истинность
Вы видите, что операцию ! можно использовать в условных выражениях. Также в них можно использоватьлогические (булевы) значения, целые числа и различные выражения. То, что принимает нулевое значение, интерпретируется как ложное условие, а все, что не нуль, считается истиной. При подстановке вместо $а его логического эквивалента «ложь», вышеприведенное выражение примет вид: «если
(не ложь)»; не ложно есть истинно.
<?
$p=5;
if(!$p) // условие ложно
?>
На протяжении этой книги вы постоянно будете сталкиваться с унарными операциями. Так, например, очень часто встречающейся их разновидностью являются префиксный и постфиксный инкременты и декременты (т. е. ++ и целочисленных значений. Например:
$number = 5;
$number++; // то же, что $number = $number+1 или $number += 1
--$number; // то же, что $number = $number-1 или $number-= 1
Префиксные операции располагаются слева от операнда и производят действие над ним до того, как его значение будет использовано, а постфиксные операции выполняются после всех вычислений.
Одноместная операция отрицания обозначается тильдой (~) и производит побитовое отрицание (или дополнение) операнда. Дополнение к — 1:
дает в результате 0.
Операции + и - имеют как одноместную, так и двухместную форму. По умолчанию число считается положительным, поэтому указание плюса (+4) является избыточным, если не определено обратное (—4).