|
ажения в логический тип. То есть, после выполнения
этого оператора в $b окажется либо true, либо false.
Вообще-то, есть еще два хитроумных оператора (array) и (object), но эти опера-
торы мы рассматривать не будем в силу их крайне слабой распространенности.
Логические выражения
Логические выражения — это выражения, у которых могут быть только два значения:
ложь и истина (или, что почти то же самое, 0 и 1). Что, поверили? Напрасно — на
самом деле абсолютно любое выражение может рассматриваться как логическое в
"логическом" же контексте (например, как условие для конструкции if-else). Ведь,
как уже говорилось, в качестве истины может выступать любое ненулевое число,
не-
пустая строка и т. д., а под ложью подразумевается все остальное.
Для логических выражений справедливы все те выводы, которые мы сделали насчет
логических переменных. Эти выражения чаще всего возникают при применении опе-
раторов >, < и == (равно), || (логическое ИЛИ), && (логическое И), !
(логическое
НЕ) и других. Например:
$a = 10<5; // $a=false
$a = $b==1; // $a=true, anee $b=5
$a = $b>=1&&$b<=10 // $a=true, если $b в пределах от 1 до 10
$a = !($b||$c)&&$d; // $a=true, если $b и $c ложны, а $d — истинно
Как осуществляется проверка истинности той или иной логической переменной? Да
точно так же, как и любого логического выражения:
$b = $a>=1&&$a<=10; // присваиваем $b значение логического выражения
if($b) echo "a в нужном диапазоне значений";
Строковые выражения
Строки в PHP — одни из самых основных объектов. Как мы уже говорили, они могут
содержать текст вместе с символами форматирования или даже бинарные данные.
Определение строки в кавычках или апострофах может начинаться на одной строке,
а
завершаться — на другой. Вот пример, который синтаксически совершенно коррек-
тен:
$a="Это текст, начинающийся на одной строке
и продолжающийся на другой,
третьей и т. д.";
Глава 7. Переменные, константы, выражения 133
Я уже много раз использовал в примерах строковые константы, заключенные как в
кавычки, так и в апострофы. Настало время поговорить о том, чем эти
представления
отличаются.
Строка в апострофах
Начнем с самого простого. Если строка заключена в апострофы (например,
'строка'), то она трактуется почти в точности так же, как записана, за
исключением
двух специальных последовательностей символов:
r последовательность \' трактуется PHP как апостроф и предназначена для вставки
апострофа в строку, заключенную в апострофы;
r последовательность \\ трактуется как один обратный слэш и позволяет вставлять
в строку этот символ.
Все остальные символы обозначают сами себя, в частности, символ $ не имеет
ника-
кого специального значения (отсюда вытекает, что переменные внутри строки, за-
ключенной в апострофы, не интерполируются, т. е. их значение не подставляется).
Строка в кавычках
По сравнению с апострофами, кавычки более "либеральны". То есть, набор
специальных
метасимволов, которые, будучи помещены в кавычки, определяют тот или иной
специаль-
ный символ, гораздо богаче. Вот некоторые из них:
r \n обозначает символ новой строки;
r \r обозначает символ возврата каретки;
r \t обозначает символ табуляции;
r \$ обозначает символ $, чтобы следующий за ним текст случайно не был интер-
полирован, как переменная;
r \" обозначает кавычку;
r \\ обозначает обратный слэш;
r \xNN обозначает символ с шестнадцатеричным кодом NN.
Переменные в строках интерполируются. Например:
$a="Hello";
echo "$a world!"
Этот фрагмент выведет Hello world!, т. е. $a в строке была заменена на значение
переменной $a (этому поспособствовал знак доллара, предваряющий любую пере-
менную).
Давайте рассмотрим еще один пример.
$a="Hell"; // neiai Hello aac aoeau "o"
echo "$ao world!";
Часть III. Основы языка PHP 134
Мы ожида
|
|