Уроки простыми словами. Урок 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) }
Исходный код к уроку: скачать.
Comments (0)
For commenting sign in or register.
Оставить заявку
Latest articles
- 01.03.26IT / Уроки PHP Уроки простыми словами. Урок 3. Все операторы PHP с примерами, с выводом работы кода на экран.
- 28.02.26IT / Уроки PHP Уроки простыми словами. Урок 2. Типы данных в PHP с примерами.
- 27.02.26IT / Уроки PHP Уроки простыми словами. Урок 1. Коротко о языке веб-программирования PHP. Основы синтаксиса.
- 26.02.26IT / Database Errors when migrating from MySQL 5.6 to 5.7 and how to fix them - database dump import failed with an error or INSERT does not work. Disabling STRICT_TRANS_TABLES strict mode or using IGNORE
- 31.01.26IT / Misc Convert office files DOC, DOCX, DOCM, RTF to DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT formats without loss and markup changes
Popular sections
Eqsash (Tools)
Share this
Subscribe to
YouTube
Books
Am (Мессенджер)
Общение смайликами со звуком.
Не работает видео? Смотреть в VK- Download APK-файл (Android);
- Веб-версия (и PWA);
- Page проекта.
3560