Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Уроки PHP - урок 6 - PHP операторы

08/12/2019, by Ivan

Мы уже разобрались со строковыми и числовыми переменными, узнали что числовые переменные бывают разных типов: целые, дробные, логические. Теперь пора научиться работать с этими переменными, видоизменять их, добавлять к ним что-нибудь.

В таблицах ниже отображено использование различных операторов PHP.

Арифметические операторы PHP

Оператор PHP Описание Пример Результат
+ Сложение x=2
x+2
4
- Вычитание x=2
5-x
3
* Умножение x=4
x*5
20
/ Деление 15/5
5/2
3
2.5
% Остаток от деления 5%2
10%8
10%2
1
2
0
++ Инкремент (увеличение на 1) x=5
x++
x=6
-- Декремент (уменьшение на 1) x=5
x--
x=4

Сложение PHP

Давайте разберем на примерах арифметические операторы.

<?php
$x = 1;
$y = 2;
$z = $x + $y;
print $z;
?> 

Результат примера выше будет 3. Думаю разбирать тут особо нечего, все довольно просто.

Вычитание PHP

<?php
$x = 2;
$y = 6;
$z = $y - $x;
print $z;
?>

Результат кода выше будет 4. И опять же думаю с вычитанием все понятно.

Умножение PHP

<?php
$x = 3;
$y = 4;
$z = $x * $y;
print $z;
?>

Результатом выполнения кода будет 12. Вы уже чувствуете что числа становятся все больше и больше и все усложняется не правда ли?

Деление PHP

<?php
$x = 26;
$y = 2;
$z = $x / $y;
print $z;
?>

Ответ 13. Ну вот все кажется совсем простым и очевидным. А теперь к тому что мы не каждый день используем в повседневной жизни.

Остаток от деления (mod) PHP

$x = 10;
$y = $x % 3;
print $y;

Результат будет 1. Что это означает, а это означает? Помните как делить столбиком, выделяем целую часть, делим, остаток от деления снова делим и так пока не останется неделимый остаток меньше самого делителя. Так вот этот неделимый остаток и есть результат выполнения % - остатка от деления. Давайте рассмотрим где это можно использовать в реальных вычислениях.

<?php
$time = time();                                         //Текущее время с начала эпохи Unix
$hours = $time % 86400;                          // выделяем текущее количество часов в секундах
$hours = floor($hours / 3600);                 //берем целое количество часов
$minutes = $time % 3600;                         //выделяем текущее количество минут в секундах
$minutes = floor($minutes / 60);              // берем только целую часть часов
$seconds = $time % 60;                            //определяем количество секунд
print $hours . ':' . $minutes . ':' . $seconds; //выводим результат
?>

Это пример конечно вряд ли где-то придется использовать, но таким образом можно вывести время на сервере. Функция floor(), возвращает целую часть от дробного числа например если число было 3.7, то функция floor() вернет 3. То есть в отличие от округления, прибавляться к целой части ничего не будет.

 

Что такое Unix время или Unix эпоха (Unix epoch или Unix time или POSIX time или Unix timestamp) ?
UNIX-время или POSIX-время (англ. Unix time) - способ кодирования времени, принятый в UNIX и других POSIX-совместимых операционных системах.
Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970, время с этого момента называют "эрой UNIX" (англ. Unix Epoch).
Время UNIX согласуется с UTC, в частности, при объявлении високосных секунд UTC соответствующие номера секунд повторяются.
Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобочитаемый формат. Дата и время в этом формате также занимают очень мало места (4 или 8 байтов, в зависимости от размера машинного слова), поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться при очень частом обращении к элементам даты, вроде номера месяца и т. п. Но в большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.

Инкремент (увеличеине на 1) PHP

Здесь все довольно просто:

<?php
$x = 1;
$y = 1;
$x++;
$y = $y + 1;
print 'x=' . $x . '<br />';
print 'y=' . $y;
?>

Результаты вычисления будут одинаковы для x и y и будут ровняться 2. Синтаксис взят из языка C++.

Декремент (уменьшение на 1) PHP

<?php
$x = 4;
$y = 4;
$x--;
$y = $y - 1;
print 'x=' . $x . '<br />';
print 'y=' . $y;
?>

Все опять очень просто ставим два минуса и от переменной отнимается единица.

Операции присвоения PHP

Оператор PHP Пример Эквивалент
= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
.= x.=y x=x.y
%= x%=y x=x%y

Это альтернативный вариант записи арифметических действий, я не буду приводить примеры, думаю вы и так можете понять как их использовать.

Операции сравнения PHP

Оператор PHP Описания Пример
== Равно 5==8 возвращает false
!= Не равно 5!=8 возвращает true
<> Не равно 5<>8 возвращает true
> Больше чем 5>8 возвращает false
< Меньше чем 5<8 возвращает true
>= Больше или равно 5>=8 возвращает false
<= Меньше или равно 5<=8 возвращает true

Операции сравнения более подробно разберем, когда будем изучать условные операторы и операторы циклов.

Логические операторы PHP

Оператор PHP Описание Пример
&& И x=6
y=3

(x < 10 && y > 1) возвращает true

|| ИЛИ x=6
y=3

(x==5 || y==5) возвращает false

! НЕТ x=6
y=3

!(x==y) возвращает true