(Переменная A имеет значение 10, а B - 20)
| Оператор | Описание | Пример |
|---|---|---|
| + | сложение | A + B , результат: 30 |
| - | вычитание | A - B , результат: 10 |
| * | умножение | A * B , результат: 200 |
| / | деление | B / A , результат: 2 |
| % | деление по модулю (остаток) | B % A , результат: 0 |
| ++ | инкремент (увеличение операнда значения на 1) | A++ , результат: 11 |
| -- | декремент (уменьшение на 1) | A-- , результат: 9 |
(Переменная A имеет значение 10, а B - 20)
| Оператор | Описание | Пример |
|---|---|---|
| == | true, если значения одинаковы | (A == B) , результат: false |
| === | true, если и значения и типы операндов одинаковы | |
| != | false , если значения одинаковы. | (A != B) , результат: true. |
| > | true, если первое значение больше второго | (A > B) , результат: false |
| < | true, если первое значение мньше второго | (A < B) , результат: true. |
| >= | true, если первое значение больше или равно второму | (A >= B) , результат: false |
| <= | true, если первое значение меньше или равно второму | (A <= B) , результат: true. |
Для понимания логических операторов нужно иметь представление о логических (boolean) переменных и выражениях. Логическая переменная может иметь только 2 значения: истина (1, true ) или ложь (0, false). Логические выражения составляются из логических операторов и лоических переменных.
Логические операторы имеют дело с логическими выражениями. Логические выражения (boolean expressions) могут принимать значения true, истина (логическая 1) или false, ложь (логический 0).
В таблице ниже - переменная A имеет значение true , а B - false.
| Оператор | Описание | Пример |
|---|---|---|
| and | Логическое И (and, или логическое умножение). Значение true , если оба операнда true | (A and B) , результат: false. |
| or | Логическое ИЛИ (or, или логическое сложение). Значение true , если хотя бы один из операндов - true | (A or B) , результат: true. |
| xor | Исключающее ИЛИ. Принимает значение true, если один из операндов true, но - не оба одновременно | (A or B) , результат: true. |
| && | Логическое И (and, или логическое умножение). Значение true , если оба операнда true | (A && B) , результат: true. |
| || | Логическое ИЛИ (or, или логическое сложение). Значение true , если хотя бы один из операндов - true | (A || B) , результат: true. |
| ! | Логическое НЕ (not или логическое отрицание). Значение true, если оперант - false и значение false, если операнд - true | !(A && B) , результат: false. |
Обычно логические операторы, логические выражения описываются посредством таблицы истинности (truth table). В такой таблице приводятся значения выражения при всех возможных вариантах, сочитаниях значений аргументов.
Примеры таблиц истинности (где T - truth, F - false):
Логическое умножение - AND
| A | B | A & B |
| T | T | T |
| T | F | F |
| F | T | F |
| F | F | F |
Логическое сложение - OR
| A | B | A | B |
| T | T | T |
| T | F | T |
| F | T | T |
| F | F | F |
(Переменная A имеет значение 10, а B - 20)
| Оператор | Описание | Пример |
|---|---|---|
| = | Присваивание: значение правого операнда присваивается левому операнду. | C = A + B присваивает переменной С значение выражения A + B |
| += | Сложение с присваиванием. Складывает значения левого и правого операнда, затем результат присваивается левому. | C += A эквивалент операции: C = C + A |
| -= | Вычитание с присваиванием. Вычитает значение правого операнда из значения левого, затем результат присваивается левому. | C -= A эквивалент операции: C = C - A |
| *= | Умножение с присваиванием. Перемножает значения левого и правого операнда, затем результат присваивается левому. | C *= A эквивалент операции: C = C * A |
| /= | Деление с присваиванием. Делит значение левого операнда на значение правого, затем результат присваивается левому. | C /= A эквивалент операции: C = C / A |
| %= | Деление по модулю с присваиванием. Делит значение левого операнда на значение правого, затем остаток от деления присваивается левому. | C %= A эквивалент операции: C = C % A |
Условные операторы оценивают (evaluate) значение некоторого логического выражения, результат: истина (true) или ложь (false). В зависимости от этого выполняется та или иная ветвь программы.
| Оператор | Описание | Синтаксис |
|---|---|---|
| ? : | Условный оператор | ЛогическоеВыражение ? Выполнить в случае true : Выполнить в случае false |
Приоритеты операторов определяют для интерпретатора PHP ту последовательность, в которой их необходимо выполнять в сложных выражениях.
Например в выражении x = 7 + 3 * 2; Сперва переменной x присваивается значение 13, так как оператор * имеет больший приоритет, чем +, поэтому сначала выполняется умножение
Далее - операторы упорядочены по приоритетам, причём операторы с большим приоритетом расположены вверху таблицы. Внутри выражения сперва оцениваются результаты операторов с высшим приоритетом
| Оператор | Последовательнось выполнения |
|---|---|
| ! ++ -- | Справа налево |
| * / % | Слева направо |
| + - | Слева направо |
| < <= > >= | Слева направо |
| == != | Слева направо |
| && | Слева направо |
| || | Слева направо |
| ?: | Справа налево |
| = += -= *= /= %= | Справа налево |
*
По материалам сайтов:
www.w3schools.com
www.tutorialspoint.com