Существует также тернарный оператор, который действует над тремя значениями. Он должен быть знаком всем, кто имел дело с С-подобным языком. Поскольку такой оператор всего один, его часто так и называют - тернарный оператор. Это условный оператор, предназначенный для выбора одного из двух значений в зависимости от третьего. Выражение:
$а ? $Ь : $с
имеет значение если $а имеет значение и получает значение $с, если $а имеет значение false:
echoC'INDEPENDENCEDAY is " . (definedC'INDEPENDENCEDAY") ? "defined" :
"not defined"));
Значение, возвращаемое функцией defined О, определяет, какая именно строка будет выведена.
Некоторые операторы предполагают, что их операнды имеют определенный тип. В таких случаях РНР производит преобразование необходимое для
выполнения операции. Мы уже видели это выше для оператора сложения, которому требуются два аргумента и который вызвал преобразование строки в число перед выполнением сложения. Другие операторы ожидают строковые или булевы величины и производят аналогичные
Теперь мы рассмотрим некоторые базовые операции и функции, предоставляемые РНР, которые можно осуществлять над значениями различных типов.
Общие операции
Самыми важными являются операторы присваивания, равенства и неравенства. Они могут действовать над значениями любого типа и применяются повсеместно.
Оператором присваивания, как мы видели, является знак равенства, =. Аргументом с левой стороны должен быть объект, допускающий присваивание, - обычно ссылка на переменную. Аргументом с правой стороны может быть любое выражение. В результате этой операции переменной в левой части присваивается значение выражения справа. Важно помнить, однако, что операция присваивания сама представляет собой выражение: у нее есть значение. Принимаемое им значение является значением выражения в правой части. Из сказанного следует, что возможен такой код:
echo($a = "Hello"); $а = $b = $о = "Hello";
Первый оператор выводит значение "Hello", одновременно также присваивая его переменной $а. Второй присваивает значение "Hello" переменной $с, затем присваивает его же переменной $Ь, а затем то же самое - переменной $а.
Оператор равенства состоит из двух символов Он принимает в качестве аргументов любые два выражения и имеет значением булево true, если значения равны, и булево false в противном случае. Оператор неравенства ! = возвращает противоположное значение: