Уроки PHP - урок 6 - PHP операторы
Мы уже разобрались со строковыми и числовыми переменными, узнали что числовые переменные бывают разных типов: целые, дробные, логические. Теперь пора научиться работать с этими переменными, видоизменять их, добавлять к ним что-нибудь.
В таблицах ниже отображено использование различных операторов 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 |