
- •1.Становление информатики как науки и структура современной информатики.
- •2.Понятие информации (определение, её свойства и методы измерения её количества).
- •17.Основы синтаксиса php начального уровня: имена переменных, комментарии. Разделение строк, взаимодействие с кодом html.
- •19.Классификация данных в php и диапазон их значений.
- •20.Понятие выражения и правила определения типа выражения в php.
- •21.Классификация операторов php, порядок их выполнения.
- •2.1. Классификация операторов php и порядок их выполнения
- •23.Операторы управления ходом выполнения сценария на php.
- •24.Циклы в языках программирования: назначение и использования. Операторы цикла в php.
- •2.2.9. Операторы цикла
- •2.2.9.1. Простейший оператор цикла – цикл с предусловием - оператор while
- •2.2.9.2. Цикл с постусловием - оператор do while
- •2.2.9.3. Циклы for
- •1. For (выражение1; выражение2; выражение3) {блок_выполнения}
- •2. For (начальное_выражение; условное_выражение; заключительное _выражение) {блок_выполнения}
- •2.2.9.4. Частные случаи использования цикла for в php
- •2.2.9.5. Об альтернативном синтаксисе операторов цикла
- •3.2. Создание массивов и особенности их использования в php
21.Классификация операторов php, порядок их выполнения.
2.1. Классификация операторов php и порядок их выполнения
Во-первых, дадим качественное определение оператора в PHP. Оператором называется конструкция языка, которая (при условии правильного синтаксиса) после обработки интерпретатором производит некоторые действия над выражениями языка, заключающиеся либо в вычислении значения этого выражения, либо в изменении порядка выполнения последовательно расположенных команд языка.
Отсюда следует, что функции или любые другие конструкции, которые возвращают значение (например, print()), являются операторами, в отличие от всех остальных языковых конструкций (например, echo()), которые ничего не возвращают.
Представим совокупность основных операторов языка в виде классификационной таблицы (Таблица 2-1). Эта классификация делит операторы по крупным группам. Далее приведена ещё одна возможная классификация операторов. Она более подробная, и её можно назвать «конкретно-функциональной».
Но в целом надо сказать, что классификация операторов носит достаточно условный характер и предназначена, прежде всего, для их лучшего усвоения.
Таблица 2‑2 Классификация основных операторов PHP по группам
Тип 1 уровня |
Тип 2 уровня |
Тип 3 уровня |
Операторы обработки данных |
Математические
|
Арифметические |
Математические функции | ||
Присваивания | ||
Инкремента и декремента | ||
Операторы над массивами | ||
Строковые |
Операторы над строками | |
Операторы над массивами | ||
Строковые функции | ||
Побитовые |
| |
Логические |
Операторы сравнения |
Сравнения арифметических величин |
Эквивалентности | ||
Операторы логических операций |
| |
Операторы управления выполнения скрипта |
Условные операторы |
|
Операторы цикла |
| |
Операторы прерывания циклов |
|
Приведём ещё одну возможную классификацию операторов PHP:
Арифметические операторы PHP
Логические операторы PHP
Строковые операторы PHP
Побитовые операторы PHP
Операторы присвоения PHP
Операторы сравнения PHP
Операции инкремента и декремента PHP
Операторы эквивалентности PHP
Операции с символьными переменными PHP
Приоритеты операторов PHP
Операторы исполнения PHP
Операторы работы с массивами
Операторы управления ошибками PHP
Операторы классов PHP
Приоритет операторов
Как правило, в программах выражения включают не один оператор. Поэтому актуален вопрос о порядке их выполнения. Практически в любом языке программирования принято правило определения порядка выполнения операторов в зависимости от присвоенного им приоритета.
Правила таковы:
Если в выражении нет скобок, то раньше выполняются операторы с более высоким приоритетом.
Операторы с одинаковым приоритетом выполняются в порядке их следования слева направо.
Скобки увеличивают приоритет операторов выражения внутри них. Причём наибольшим приоритетом наделяется наиболее внутренняя скобка.
Функции, входящие в выражении, обладают наивысшим приоритетом.
В таблице Таблица 2 -3 приводится приоритеты операторов с указанием их ассоциативности.
Таблица 2‑3
Операторы
PHP
в порядке убывания приоритета
Левая ассоциативность подразумевает, что оператор вычисляется слева направо, правая ассоциативность соответственно подразумевает противоположный порядок.
22.Логические и побитовые операторы. Назначение и особенности использования.
. Побитовые операторы
Побитовые операции предназначены для работы (установки/снятия/проверки) групп битов в целой переменной. То есть они предназначены для работы с отдельными битами в целых числах. Необходимость их использования возникает тогда, когда требуется, например, хранить в одном числе большое число разнообразных признаков (получается подобие штрих-кода), что встречается в достаточно сложных программах.
Побитовые операторы позволяют устанавливать конкретные биты в 0 или 1 для целочисленных значений.
В случае если и левый, и правый операнды являются строками, побитовые операции будут работать с их ASCII-представлениями.
Биты целого числа — это не что иное, как отдельные разряды того же самого числа, записанного в двоичной системе счисления. Например, в двоичной системе число 12 будет выглядеть как 1100, а 2 — как 10, так что выражение 12|2 вернет нам число 14 (1110 в двоичной записи).
Если переменная не целая, то она вначале округляется, а уж затем к ней применяются перечисленные ниже операторы.
Для представления одного числа используются 32 бита:
0000 0000 0000 0000 0000 0000 0000 0000 - это ноль;
0000 0000 0000 0000 0000 0000 0000 0001 - это 1;
0000 0000 0000 0000 0000 0000 0000 0010 - это 2;
0000 0000 0000 0000 0000 0000 0000 0011 - это 3;
0000 0000 0000 0000 0000 0000 0000 0100 - это 4;
0000 0000 0000 0000 0000 0000 0000 0101 - это 5;
...
0000 0000 0000 0000 0000 0000 0000 1111 - это 15.
Установленными являются биты (разряды), значения которых изменились в результате присвоения ячейке конкретного значения или при использовании конкретного числа или строки.
Побитовые операторы похожи на логические операторы, работающие с логическими выражениями. По существу они и являются такими, но операндами для них являются биты целых или строковых данных.
Таблица 2‑4Побитовые операторы PHP
Название |
Пример |
Описание и результат |
Побитовое 'и' |
$c=$a & $b |
В результате ($c) устанавливаются только те биты, которые установлены и в $a, и в $b. |
Побитовое 'или' |
$c=$a | $b |
Устанавливаются те биты, которые установлены либо в $a, либо в $b. |
Исключающее ′или′ |
$c=$a ^ $b |
Устанавливаются только те биты, которые установлены либо только в $a, либо только в $b |
Отрицание ′не′ |
$c=~ $a |
Устанавливаются те биты, которые в $a не установлены, и наоборот. |
Сдвиг влево |
$c=$a << $b |
Все биты переменной $a сдвигаются на $b позиций влево (каждая позиция подразумевает 'умножение на 2') |
Сдвиг вправо |
$c=$a >> $b |
Все биты переменной $a сдвигаются на $b позиций вправо (каждый сдвиг подразумевает 'деление на 2') |
Таблица 2‑5 Результаты работы побитовых операторов (поп) для значений $a =1 и $b=5 (в десятичной системе) $c=$a (поп) $b
Операция |
Значение $c |
& |
1 |
| |
5 |
^ |
4 |
~ |
-2 |
<< |
32 |
>> |
0 |