Материал предоставлен https://it.rfei.ru

Выражения

Начнем с базовой части любого языка программирования — выражения.

Выражение представляет собой сочетание значений, переменных, операторов и функций, в результате вычисления которого выдается новое значение.

Оно знакомо всем, кто когда-либо имел дело с обыкновенной школьной алгеброй:

у = 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, поэтому в каждом языке ее определение стоит проверить.

Выражения и управление процессом выполнения программы в РНРЛитералы и переменные