Начнем с базовой части любого языка программирования — выражения.
Выражение представляет собой сочетание значений, переменных, операторов и функций, в результате вычисления которого выдается новое значение.
Оно знакомо всем, кто когда-либо имел дело с обыкновенной школьной алгеброй:
у = 3(abs(2x) + 4)
что в РНР приобретает следующий вид:
$у = 3 * (abs(2*$x) + 4);
Возвращаемое значение (в данном случае у или $у
) может быть числом, строкой или булевым значением (названным так в честь Джорджа Буля, английского математика и философа XIX века). Первые два типа значений вам уже должны быть знакомы, потому объясним, что такое третий тип.
Элементарное булево значение может быть либо истинным — TRUE
, либо ложным — FALSE
. Например, выражение «20 > 9» (20 больше 9) является истинным (TRUE), а выражение «5 == 6»
(5 равно 6) — ложным (FALSE). (Булевы, или логические, операции могут быть объединены путем использования таких операторов, как И
, ИЛИ
и ИСКЛЮЧАЮЩЕЕ ИЛИ
, то есть AND
, OR
и XOR
, которые будут рассмотрены в этой главе.)
Обратите внимание на то, что для имен TRUE
и FALSE
используют буквы верхнего регистра. Это обусловлено тем, что в РНР они являются предопределенными константами. При желании можно также использовать и их версии, составленные из букв нижнего регистра, поскольку они также являются предопределенными константами. Кстати, версия, в которой используются буквы нижнего регистра, является более надежной, потому что РНР не допускает ее переопределения, а версия, использующая буквы верхнего регистра, может быть переопределена, и это нужно иметь в виду при импортировании чужого кода.
Ниже в примере показаны некоторые простые выражения: два, о которых уже упоминалось, плюс еще два выражения. Для каждой строки выводится буква от а
до d
, за которой следуют двоеточие и результат выражения (тег <br/>
используется в HTML для переноса и разбивает выходную информацию на четыре строки).
Пример. Четыре простых булевых выражения
<?рhр
echo "a: [" . (20 > 9) . "]<br />";
echo "b: [" . (5 == 6) . "]<br />";
echo "c: [" . (1 == 0) . "]<br />";
echo "d: [" . (1 == 1) . "]<br />";
?>
Этот код выведет следующую информацию:
а: [1]
b: [ ]
с: [ ]
d: [1]
Обратите внимание на то, что результаты вычисления обоих выражений, а:
и d:
, являются истинными (TRUE
), имеющими значение 1. А результаты вычисления выражений b:
и с:
ложны (FALSE) и вообще не показывают никакого значения, поскольку в РНР константа FALSE
определена как NULL
(ничто). Для того чтобы убедиться в этом, можно ввести код, показанный в следующем примере.
Пример. Вывод значений TRUE и FALSE
<?php // test2.php
echo "a: [" . TRUE . "]<br />";
echo "b: [" . FALSE . "]<br />";
?>
Этот код выведет следующую информацию:
а: [1]
b: [ ]
Кстати, в некоторых языках константа FALSE
может быть определена как 0 или даже как -1, поэтому в каждом языке ее определение стоит проверить.
Выражения и управление процессом выполнения программы в РНР | Литералы и переменные |