Уроки простыми словами. Урок 3. Все операторы PHP с примерами, с выводом работы кода на экран.
<?php
// var_dump($variable);
// Операторы необходимы для выполнения различных операций над переменными, значениями и другими объектами. Оператор - это то, что принимает одно или больше значений и вычисляет новое значение. В PHP существует несколько групп операторов, какие - рассмотрим ниже. Стоит помнить, что у операторов есть приоритет выполнения - одни выполняются раньше других (как в школьной программе математики).
// Арифметические
// Сложение
$variable = 2 + 1; // int(3)
// Вычитание
$variable = 3 - 1; // int(2)
// Умножение
$variable = 2 * 3; // int(6)
// Деление
$variable = 2 / 1; // int(2)
// Деление по модулю
$variable = 2 % 1; // int(0)
// Возведение в степень
$variable = 2 ** 3; // int(8)
// Операторы присваивания
// Равно
$variable = 5; // int(5)
// Сложение
$variable += 1; // int(6)
// Вычитание
$variable -= 1; // int(5)
// Умножение
$variable *= 2; // int(10)
// Деление
$variable /= 2; // int(5)
// Деление по модулю
$variable %= 3; // int(2)
// Возведение в степень
$variable **= 3; // int(8)
// Оператор сравнения с null
$variable ??= $variable; // int(8)
// Побитовое И
$variable &= 1; // int(0)
// Побитовое Или
$variable |= 2; // int(2)
// Побитовое Исключающее или
$variable ^= 3; // int(1)
// Побитовое Сдвиг влево
$variable <<= 4; // int(16)
// Побитовое Сдвиг вправо
$variable >>= 5; // int(0)
// Операторы сравнения
// Равно
$variable = 1 == 2; // bool(false)
// Идентично
$variable = 1 === 2; // bool(false)
// Не равно
$variable = 1 != 2; // bool(true)
$variable = 1 <> 2; // bool(true)
// Не идентично
$variable = 1 !== 2; // bool(true)
// Больше
$variable = 1 > 2; // bool(false)
// Меньше
$variable = 1 < 2; // bool(true)
// Больше или равно
$variable = 1 >= 2; // bool(false)
// Меньше или равно
$variable = 1 <= 2; // bool(true)
// Операторы увеличения и уменьшения (инкремент и декремент)
// Префиксный инкремент
$variable = 3;
$variable = ++$variable; // int(4)
// Постфиксный инкремент
$variable = $variable++; // int(4)
// Префиксный декремент
$variable = --$variable; // int(3)
// Постфиксный декремент
$variable = $variable--; // int(3)
// Логические операторы
// И
$variable = 1 and 2; // int(1)
$variable = 1 && 2; // bool(true)
// Или
$variable = 1 or 2; // int(1)
$variable = 1 || 2; // bool(true)
// Не или
$variable = 1 xor 2; // int(1)
// Не
$variable = !$variable; // bool(false)
// Строчные операторы
// Конкатенация
$variable = 'Test '.' test'; // string(10) "Test test"
// Конкатенация с присвоением
$variable .= ' test'; // string(15) "Test test test"
// Операторы массива
// Слияние
$variable = [1,] + [2,]; // array(1) { [0]=> int(1) }
// Равно
$variable = [1,] == [2,]; // bool(false)
// Идентично
$variable = [1,] === [2,]; // bool(false)
// Не равно
$variable = [1,] != [2,]; // bool(true)
$variable = [1,] <> [2,]; // bool(true)
// Не идентично
$variable = [1,] !== [2,]; // bool(true)
// Побитовые операторы
// И
$variable = 1 & 2; // int(0)
// Или
$variable = 1 | 2; // int(3)
// Исключающее или
$variable = 1 ^ 2; // int(3)
// Сдвиг влево
$variable = 1 << 2; // int(4)
// Сдвиг вправо
$variable = 1 >> 2; // int(0)
// Отрицание
$variable = ~1; // int(-2)
// Другие операторы
// Объекты - создание, клонирование, выяснение принадлежности
class A {}
$variable = new A(); // object(A)#1 (0) { }
$variable = clone $variable; // object(A)#2 (0) { }
$variable = $variable instanceof A; // bool(true)
// Приведение типов
$variable = (int)$variable; // int(1)
$variable = (float)$variable; // float(1)
$variable = (string)$variable; // string(1) "1"
$variable = (array)$variable; // array(1) { [0]=> string(1) "1" }
$variable = (object)$variable; // object(stdClass)#2 (1) { ["0"]=> string(1) "1" }
$variable = (bool)$variable; // bool(true)
// Взятие по ссылке (сослаться на переменную в оперативной памяти)
$variable = &$variable; // bool(true)
// Тернарный оператор
$variable = 1 ?: 2; // int(1)
$variable = $variable ? 2 : 3; // int(2)
// Оператор сравнения с null
$variable = $variable ?? 5; // int(2)
// Космический корабль (spaceship), возвращает: 0 - если обе части равны, 1 - если левая часть больше, -1 - если правая часть больше
$variable = 2 <=> 3; // int(-1)
// Управление ошибками
$variable = @$variable_error; // NULL
// Оператор исполнения (shell_exec())
$variable = `ls -al`; // NULL
// Print
$variable = print $variable; // int(1)
// Yield ("урожай") - генератор, работает как обычная функция, при этом при повторном обращении перебор данных будет продолжен с предыдущего места остановки
function test_yield() {
yield 1;
yield 2;
yield 3;
}
$variable = iterator_to_array(test_yield()); // array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
function test_yield_from() {
yield 0;
yield from test_yield(); // Делегирование генератора
yield 5;
}
$variable = iterator_to_array(test_yield_from()); // array(3) { [0]=> int(1) [1]=> int(5) [2]=> int(3) }
Исходный код к уроку: скачать.
Комментарии (0)
Для комментирования войдите или зарегистрируйтесь.
Оставить заявку
Последние статьи
- 03.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 3. Все операторы PHP с примерами, с выводом работы кода на экран.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 2. Типы данных в PHP с примерами.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 1. Коротко о языке веб-программирования PHP. Основы синтаксиса.
- 09.11.23ИТ / Базы данных Ошибки при переходе с MySQL 5.6 на 5.7 и как их исправить - импорт дампа БД завершился ошибкой или не работает INSERT. Отключение строгого режима STRICT_TRANS_TABLES или использование IGNORE
- 08.07.22ИТ / Разное Конвертация офисных файлов DOC, DOCX, DOCM, RTF в форматы DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT без потерь и изменения разметки