
- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 1. Введение в Web-программирование
- •Принцип работы Web-приложений
- •Обзор известных средств программирования для Internet
- •Первое решение: cgi
- •Преимущества cgi
- •Недостатки cgi
- •Второе решение: isapi-интерфейс
- •Преимущества isapi
- •Недостатки isapi
- •Третье решение: asp
- •Преимущества asp
- •Недостатки asp
- •Лекция 2. Введение в php
- •Что такое рнр?
- •Архитектура рнр
- •Первая программа на php
- •Взаимодействие html и php
- •Лекция 3. Типы данных php
- •Комментарии
- •Логические переменные
- •Синтаксис логических переменных
- •Приведение значений к логическому типу
- •Целые числа
- •Синтаксис целочисленных переменных
- •Целочисленное переполнение
- •Приведение к целочисленному типу
- •Вещественные числа
- •Константы
- •Преобразование строк
- •Лекция 4. Переменные
- •Изменение типа переменной
- •Преобразование типа переменной
- •Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Оператор конкатенации
- •Дополнительные операторы присваивания
- •Операторы сравнения
- •Логические операторы
- •Увеличение или уменьшение целой переменной
- •Порядок вычисления операторов
- •Динамические переменные
- •Ссылки на переменные
- •Лекция 5. Инструкция if
- •Блок else инструкции if
- •Блок elseif инструкции if
- •Инструкция switch
- •Оператор ?
- •Цикл while
- •Цикл do... While
- •Цикл for
- •Прерывание циклов инструкцией break
- •Пропуск итераций с помощью инструкции continue
- •Лекция 6. Функции
- •Аргументы функции
- •Аргументы по умолчанию
- •Область видимости переменных
- •Лекция 7. Краткий обзор .Net Framework
- •Промежуточный язык Microsoft Intermediate Language
- •Компиляция “Just In Time”
- •Управляемый код и данные
- •Лекция 8. Создание приложений Web Forms Файлы проекта Web Forms
- •Файлы Web-приложения
- •Обработка событий События жизненного цикла Web-приложения
- •Сохранение данных Web-формы
- •Visual Basic .Net
- •Visual c#
- •События Application и Session
- •Visual Basic .Net
- •Visual c#
- •События Web-формы
- •Visual Basic .Net
- •Visual c#
- •События серверных элементов управления
- •Visual Baste .Net
- •Visual c#
- •Лекция 9. Работа с Web-объектами Введение в пространство имен
- •Пространства имен в Web-приложениях Обзор пространства имен Web
- •Visual Basic .Net
- •Visual c#
- •Использование объекта Application
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Page
- •Visual Basic
- •Visual с#
- •Использование объекта Request
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Response
- •Visual Baste .Net
- •Visual c#
- •Лекция 10. Сохранение сведений о состоянии Способы сохранения сведений о состоянии
- •Использование строк запросов
- •Visual Basic .Net
- •Visual c#
- •Использование переменных состояния Application и Session
- •Упорядочение доступа к переменным состояния
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Отключение переменных состояния Session
- •Лекция 11. Web-элементы управления. Использование элементов управления.
- •Простые элементы управления
- •Элементы управления Label
- •Элементы управления HyperLink
- •Элементы управления Image
- •Элементы управления CheckBox
- •Элементы управления RadioButton
- •Элементы управления Table
- •Элементы управления DropDownList
- •Элементы управления ListBox
- •Элементы управления CheckBoxList
- •Элементы управления RadioButtonList
- •Лекция 12. Проверяющие элементы управления
- •Использование проверяющих элементов управления
- •RequiredFieldValidator
- •RangeValidator
- •CompareValidator
- •RegularExpression Validator
- •CustomValidator
- •ValidationSummary
- •Отмена проверки вводимых данных
- •Лекция 13. Введение в Web-сервисы Обзор Web-сервисов xml
- •Инфраструктура Web-сервисов xml
- •Взаимодействие клиентов и Web-сервисов xml
- •Лекция 14. Механизм обнаружения Web-сервисов xml
- •Использование Web-сервисов xml
- •Добавление Web-ссылки
- •Генерация класса прокси
- •Создание объекта класса прокси
- •Доступ к Web-сервису xml через объект прокси
- •Сериализация
- •Лекция 15. Управление Web-методами при помощи атрибутов Атрибуты Web-метода
- •Буферизация откликов Web-метода
- •Visual c#
- •Пользовательские маркеры
- •Подписи
- •Шифрование
- •Лекция 17. Модель безопасности asp.Net
- •Лекция 18. Введение в инфраструктуру Microsoft .Net Remoting
- •Объекты .Net Remoting
- •Передача объектов по механизму .Net Remoting
- •Пример кода для простого серверного объекта .Net Remoting
- •Срок жизни, определяемый арендой
- •Channel Services (System.Runtime.Remoting.Channels)
- •Пример кода, загружающего Channel Services
- •Форматирующие объекты сериализации (System.Runtime.Serialization.Formatters)
Целые числа
Целочисленные переменные в РНР принимают значения из множества Z = ..., -2, -1,0,1,2,...
Синтаксис целочисленных переменных
Целые числа могут задаваться в десятичной, шестнадцатеричной и восьмеричной системах счисления. Знак числа указывается символом “+” для положительных и символом “–” для отрицательных чисел.
Если используется восьмеричное представление, необходимо начать число с символа 0 (нуля), а при использовании шестнадцатеричной записи – с префикса 0х.
Несколько примеров записи целых чисел:
$a = 1234; // привычный формат представления числа
$a = -123; // отрицательное число
$a = 0123; // восьмеричное число (соответствует десятичному, 83)
$a = 0x1A; // шестнадцатеричное число, соответствующее десятичному 26
Максимальное значение целого числа, поддерживаемого PHP-машиной, зависит от особенностей платформы, но на сегодняшний день наиболее часто используется 231-1.
Целочисленное переполнение
Если попытаться ввести число, находящееся за пределами целочисленного типа, оно автоматически будет преобразовано в вещественное число. Например:
$large_number = 2147483647;
var_dump($large_number); // результат: int(2147483647)
$large_number = 2147481648;
var_dump($large_number) ; // результат: float(2147483648)
Кроме того, если некоторая функция или оператор приводят к получению результата, выходящего за пределы, поддерживаемые целочисленным типом, этот результат автоматически преобразуется в вещественное число:
$million = 1000000;
$large_number = 5000 * $million;
var_dump( $large_number ); // результат: float(5000000000)
Приведение к целочисленному типу
Для того чтобы явно привести значение переменной к целочисленному типу, можно использовать идентификатор типа (int) или (integer) . Однако в большинстве случаев делать этого не нужно, поскольку приведение осуществляется автоматически по мере необходимости.
Приведение к целочисленному типу осуществляется в зависимости от типа исходного значения:
Логическое значение FALSE преобразуется в 0 (нуль), a TRUE – в 1.
Число округляется по направлению к нулю (называется ближайшим меньшим целым).
Если же исходное вещественное число находится за пределами границ, используемых целыми числами (в настоящее время это, как правило, 231), результат операции не определен. (в том случае вы не получите никакого предупреждения от РНР-машины.)
Вещественные числа
Вещественные числа, они же «числа с плавающей запятой» могут вводиться с помощью всех стандартных нотаций, принятых в Си или Perl:
$а = 1.234; $а = 1.2еЗ; $а = 7E-10;
Максимальный размер вещественного числа, так же как и в случае с целыми числами, зависит от платформы, но, как правило, используется 64-битный формат IEЕЕ (“ай-я-яй”), что означает 14 десятичных чисел в числе, откуда следует максимальное значение в 1,8 10308.
Замечание. Довольно часто случается так, что весьма простые десятичные дроби, такие как 0,1 или 0,7, не могут быть преобразованы во внутреннее двоичное представление без некоторой потери точности. Это довольно часто приводит к неожиданным на первый взгляд результатам. Например, вызов
floor ((0.1+0.7) * 10)
обычно возвращает не 8, как ожидается, а 7, поскольку внутреннее представление вещественного результата операции равно 7,9999999999...