Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Тип данных boolean (логический)

Переменная логического типа может иметь только два значения TRUE или FALSE. Выражения с логическим типом могут использовать логические операторы: &&, ||, !, and, or, xor.

Примеры:

<?php $var_1 = true; $var_2 = false; $var_3 = $var_1 && $var_2;  // результат логического И - false $var_3 = $var_1 and $var_2; // тоже самое, только в другой записи $var_3 = $var_1 || $var_2;  // результат логического ИЛИ - true $var_3 = $var_1 or $var_2;  // тоже самое, только в другой записи $var_3 = !$var_1;           // результат логического НЕ - false $var_3 = $var_1 xor $var_2; // результат исключающего ИЛИ - true ?>

Значение логического типа может быть результатом сравнения. Допускаются операторы сравнения: ==, !=, <>, <, >,<=, >=, ===, !==. 

Примеры:

<?php $var_1 = 15; $var_2 = 17; $var_3 = $var_1 == $var_2; // проверка на равенство, результат false $var_3 = $var_1 != $var_2; // проверка на неравенство, результат true $var_3 = $var_1 <> $var_2; // тоже самое, только в другой записи $var_3 = $var_1 > $var_2;  // результат false $var_3 = $var_1 < $var_2;  // результат true $var_3 = $var_1 >= $var_2; // результат false $var_3 = $var_1 <= $var_2; // результат true $var_4 = 15; $var_5 = 15.0; /* проверка на эквивалентность, должны совпасть не только значения, но и типы переменных */ $var_3 = $var_1 === $var_4; // результат true $var_3 = $var_1 === $var_5; // результат false $var_3 = $var_1 !== $var_4; // результат false $var_3 = $var_1 !== $var_5; // результат true ?> 

Выражение любого типа может быть преобразовано к логическому путем использования конструкции (Boolean) (аналогично (integer) и (float)). Также такое преобразование может быть выполнено неявно при вычислении выражений в условных операторах, операторах цикла и т.п. Используются следующие правила. В FALSE преобразуются следующие значения:

  • Ноль типа integer (0);

  • Ноль типа float (0.0) ;

  • Пустая строка и строка "0";

  • Пустой массив;

  • Объект без переменных;

  • Значение типа NULL.

В TRUE преобразуются все остальные значения.

Тип NULL

Переменная считается равной NULL и имеющей тип NULL, если:

  • Переменной была явно присвоена константа NULL;

  • Переменной не было присвоено еще никакого значения;

  • Значение переменной удалено при помощи вызова unset;

  • Результатом сравнения с переменной типа NULL или константой NULL всегда является FALSE.

Примеры:

<?php $var_1 = NULL; // явно присваиваем тип NULL $var_2 = $var_1; $var_3 = $var_1 == $var_2; // результат false $var_2 = "Теперь эта переменная имеет тип строка строка"; unset($var_2); // $var_2 опять имеет тип NULL; ?> 

Тип данных строка

Строковый тип является важнейшим для PHP, поскольку в процессе создания клиентских страниц, как правило, массово используется работа со строками. Строка в PHP представляет собой последовательность символов. Каждый символ представляет собой байт (т.е. нет встроенной поддержки Unicode). Строковые константы, в основном, задаются двумя способами: либо парой одинарных кавычек, либо парой двойных кавычек. Ограничения на длину строк в языке не определены (по-видимому, это зависит от реализации интерпретатора и доступных ресурсов системы).

В строках, заданных парой двойных кавычек, могут использоваться управляющие последовательности (Escape-последовательности), по аналогии с языком C, например:

 Escape-последовательность

 Описание

\n

Новая строка – символ 10 в ASCII.

\r

Возврат каретки – символ 13 в ASCII.

\t

Табуляция – символ 9 в ASCII.

\\

Обратная косая черта.

\$

Знак доллара.

\"

Двойная кавычка.

Вместо управляющих последовательностей подставляются соответствующие им значения кода ASCII. В строковых константах, заданных одинарными кавычками, вместо управляющих символов ничего не подставляется, они рассматриваются как пара символов. Два исключения: последовательность \’ для отображения символа одинарной кавычки и последовательность \\ для отображения обратной косой черты.

Примеры:

<?php $var_1 = "Это будет на первой строке.\nА это на второй."; echo $var_1; // выведем не одну строку, а две $var_2 = 'А здесь будет ровно одна\nстрока'; echo $var_2; // выведем одну строку, в которой будет пара символов \n $var_3 = 'Выведем в строке одинарную кавычку\' '; echo $var_3; ?>

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

Примеры:

<?php $var_1 = "Иванов"; $var_2 = "Ваша фамилия {$var_1}"; echo $var_2; // выведем строку: Ваша фамилия Иванов // пример конкатенации строк echo $var_2.", не так ли?"; // выведем строку: Ваша фамилия Иванов, не так ли? $var_3 = " Иван Иваныч"; $var_4 = $var_1.$var_3; // $var_4 содержит строку: "Иванов Иван Иваныч" ?> 

Сравнение строк выполняется посимвольно. Строки $str1 и $str2 равны, если количество символов в $str1 и $str2 совпадает и k-ый символ в $str1 равен k-ому символу в $str2. Строка $str1 больше $str2 если: все символы до k-го включительно в $str1 и $str2 совпадают, а ASCII код k+1-ого символа в $str1 больше ASCII кода k+1-го символа в $str2. Если все символы в $str2 совпадают с символами в $str1, но $str1 длиннее, то $str1 также больше $str2.

Примеры:

<?php $var_1 = "Иванов"; $var_2 = "Ивашов"; $var_3 = "Иванов Иван"; $res = $var_1 > $var_2;  // результат true $res = $var_1 > $var_3;  // результат false $res = $var_1 == $var_3; // результат false $res = $var_1 < $var_3;  // результат true ?>

Типовые функции работы со строками определяются позднее в данной теме, после рассмотрения понятия функции и управляющих конструкций.