Математические операторы и математические функции PHP



Числовые данные обрабатываются при помощи таких операторов PHP:

+

сумма двух чисел

-

разность чисел

/

частное от деления двух чисел

%

остаток от деления

<?php

echo "2 + 2 = ", 2 + 2, "<br>";

echo "5 - 2 = ", 5 - 2, "<br>";

echo "10 * 10 = ", 10 * 10, "<br>";

echo "100 / 2 = ", 100 / 2, "<br>";

echo "10 % 2 = ", 10 % 2, "<br>";

?>

Отображение в браузере

2 + 2 = 4

5 - 2 = 3

10 * 10 = 100

100 / 2 = 50

10 % 2 = 0

Математические функции

PHP имеет огромное количество математических функций, вот их полный перечень:

  • Abs. Модуль числа.
  • Sin. Синус.
  • Sinh. Гиперболический синус.
  • Cos. Косинус
  • Cosh. Гиперболический косинус.
  • Acos. Арккосинус
  • Acosh. Гиперболический арккосинус.
  • Asin. Арксинус.
  • Asinh. Гиперболический арксинус.
  • Atan2. Арктангенс частного двух переменных.
  • Tan. Тангенс.
  • Tanh. Гиперболический тангенс.
  • Atan. Арктангенс.
  • Atan. Гиперболический арктангенс
  • Base_convert. Преобразование числа в строковом представлении из одной системы
    счисления в другую.
  • Decoct. Преобразование числа в восьмеричное представление в виде строки.
  • Bindec. Преобразование строки, предоставленной в двоичном числе, в целое значение.
  • Octdec. Преобразование строки, представляющей восьмеричное число, в целое число.
  • Hexdec. Преобразование строки, которая представляет шестнадцатеричное число, в целое число.
  • Ceil. Округление числа в большую сторону.
  • Floor. Округление числа в меньшую сторону.
  • Deg2rad. Градусы в радианы.
  • Exp. Вычисление экспоненты числа.
  • Fmod. Остаток от деления двух чисел.
  • Getrandmax. Макс. значение, которое получают функцией rand()
  • Hypot. Вычисление гипотенузы по двум катетам.
  • Is_finite. Проверка, является ли число конечным вещественным числом.
  • Is_infinite. Проверка, является ли число бесконечностью.
  • Is_nan. Проверка, является ли значение Не числом(Not-A-Number).
  • Lcg_value. Генератор случайных чисел.
  • Log10. Десятичный логарифм.
  • Log. Натуральный логарифм.
  • Max. Максимум заданных чисел.
  • Min. Минимум заданных чисел.
  • Mt_getrandmax. Макс. значение, которое можно получить функцией mt_rand.
  • Mt_rand. Генератор псевдослучайных чисел по алгоритму.
  • Pi. Значение числа π.
  • Pow. Возведение в степень.
  • Round. Округляет число типа float.
  • Sqrt. Квадратный корень.

<?php

echo "round(4.2) = ", round(4.2), "<br>";

?>

Отображение в браузере

round(4.2) = 4

Основным оператором присвоения является знак равенства =. Он присваивает значение определенной переменной:

<?php

$fruits = 14;

?>

В одной строке можно присвоить одно значение сразу нескольким переменным, например:

<?php

$n = $m = $p = 3;

echo $n, $m, $p;

?>

Отображение в браузере:

333

Также в PHP есть комбинированные операторы, которые делают код более компактным. Вот их перечень:

  • +=
  • -=
  • /=
  • .=
  • %=
  • &=
  • |=
  • ^=
  • <=
  • >=

Например, если нужно прибавить 55 к значению переменной $number, это можно записать как:
$number = $number + 55, а если использовать комбинированный оператор, то так: $number += 55

Увеличение и уменьшение

Довольно часто в ходе написания PHP скрипта нужно или добавить к переменной единицу, либо отнять.

Для этого в PHP есть специальные операторы. Например, если есть переменна $a = 0, то чтобы добавить 1 к этой переменной нужно написать: $a++, это значит, что к переменной $а будет добавлена единица, если нужно отнять 1, то нужно записать так: $a--.

Оператор ++ называют инкрементом, а -- декрементом.

++$a

Пре-инкремент. Увеличивает значение на единицу, затем возвращает значение

$a++

Пост-инкремент. Возвращает текущее значение, после чего увеличивает его на единицу.

--$a

Пре-декремент. Уменьшает значение на единицу, затем возвращает значение

$a--

Пост-декремент. Возвращает текущее значение, после чего уменьшает его на единицу.

Приоритет операторов PHP

Если вы используете несколько операторов одновременно в одном выражении, то нужно знать в каком порядке они будут выполняться.

Эта таблица показывает операторы по убыванию приоритета (операторы с одним приоритетом выполняются слева на право):

new
[
! ~ ++ -- (int) (float) (string) (array) (object)
@
* / %
+ - .
< >
< <= > >=
&
^
|
&&
||
? :
= += -= *= /= .= %= &= |= ^= <= >=
print
and
xor
or
,

Для изменения порядка выполнения операторов нужно использовать круглые скобки!

Оператор исполнения PHP

В PHP существует такой оператор, как оператор исполнения, он нужен для того чтобы выполнять команды ОС и использовать результат этого выполнения.

Любая строка, которая заключена в обратные апострофы — ` считаются как команда ОС. Например:

<?php$d = `dir d:\\`;echo $d;?>

Как результат вы получите список директорий диска D.

Условный оператор IF в PHP

Во всех высокоуровневых языках программирования есть оператор if, в PHP синтаксис этого оператора такой:

if (exp)   statement

exp (выражение) - логическое выражение, которое может быть истиной (TRUE) или ложью (FALSE).
Например, выражение 100 > 1 это истина (TRUE).

statement (инструкция) выполняется тогда, когда exp — истина, и не выполняется когда exp ложь!

Например, если скорость машины будет больше 60 то это значит, что водитель превышает скорость:

<?php$speed = 80; if ($speed > 60) echo "Превышение скорости !";?>

Если нужно чтобы при выполнении условия выполнялись сразу несколько операторов, то нужно заключить их в фигурные скобки { и }:

<?php$speed = 80; if ($speed > 60){ // Начало echo "Превышение скорости! <br>"; echo "Пожалуйста, уменьшите скорость!";} // Конец?>

Отображение в браузере:

Превышение скорости!Пожалуйста, уменьшите скорость!

При изучении условного оператора if мы использовали знак > в условии, так это и есть один из операторов сравнения в PHP! Все операторы сравнения которые есть в PHP указанные в таблице:

== Равенство Истина, если $a равно $b
=== Идентичность Истина, если $a равно $b, и они одного и того же типа
!= Неравенство Истина, если $a не равно $b
<> Неравенство Истина, если $a не равно $b
!== Неидентичность Истина, если $a не равно $b, или они не одного типа
< Меньше Истина, если $a меньше $b
> Больше Истина, если $a больше $b
<= Меньше или равно Истина, если $a меньше или равно $b
>= Больше или равно Истина, если $a больше или равно $b

Стоит обратить внимание, что оператор сравнения записывается как ==, а не просто =.

<?php

$speed = 45;

 

if ($speed <= 60)

echo "Скорость в пределах нормы";

?>

Если нам нужно применить к выражению несколько условий, например: если больше 3 и меньше 6, то с помощью логических операторов мы можем это записать так:

<?php

$speed = 40;

 

if ($speed > 35 && $speed < 55) {

echo "Скорость в пределах нормы";

}

?>

Полный список логических операторов представленный в таблице:

and Логическое "И" Истина, если истинно $a и $b
&& Логическое "И" Истина, если истинно $a и $b
or Логическое "ИЛИ" Истина, если истинно $a или $b
|| Логическое "ИЛИ" Истина, если истинно $a или $b
xor Логическое "Исключающее ИЛИ" Истина, если истинно $a или $b, но не оба одновременно
! Логическое "НЕ" Истина, если $a ложь

Как вы видите, в таблице присутствуют два оператора "И" и "ИЛИ". Это потому, что оператор && или || имеет больший приоритет от "И" и "ИЛИ".

Очень часто нужно при истинном значении выполнить одно действие, а при ложном другое. Для этого в PHP есть оператор else. Синтаксис оператора:

if(exp)    statement1else    statement2

Пример:

<?php$speed = 50; if ($speed > 60) echo "Превышение скорости !";else    echo "Скорость в пределах нормы" ?>

В этом случае будет выведено сообщение "Скорость в пределах нормы".

Оператор if имеет еще одно расширение, это оператор elseif, он используется для последовательной проверки условий. Синтаксис:

if (exp)    statement1elseif (exp2)    statement2

Также можно записывать так:

if (exp)    statement1else if (exp2)    statement2

Пример:

<?php$speed = 50; if ($speed < 30) echo "Скорость в пределах нормы"; elseif ($speed == 30) echo "Ваша скорость 30 км/час"; elseif ($speed == 40) echo "Ваша скорость 40 км/час"; elseif ($speed == 50) echo "Ваша скорость 50 км/час"; elseif ($speed == 60) echo "Ваша скорость 60 км/час"; else    echo "Превышение скорости !";?>

Также, такой кусок кода можно записать и так:

<?php$speed = 50; if ($speed < 30) echo "Скорость в пределах нормы"; elseif ($speed >= 30 && $speed <= 60) echo "Ваша скорость {$speed} км/час"; else    echo "Превышение скорости !";?>

В этом случае будет выведено сообщение "Ваша скорость 50 км/час". А если бы не одно условие не подошло бы , то сработал бы оператор else и мы увидели "Превышение скорости !".

 

Тернарный оператор PHP

Тернарный оператор работает почти также как и оператор if, но при использовании тернарного оператора, мы вместо ключевых слов пишем ? и :.

Синтаксис:

$var = condition ? exp1 : exp2;

Если условие выполняется, то переменной $var присваивается результат вычисления exp1, иначе exp2.

Пример:

<?php$speed = 55; echo ($speed <= 60) ? "Скорость в пределах нормы" : "Превышение скорости !";?>

В результате мы увидим строку - "Скорость в пределах нормы".

PHP 5.3

Начиная с версии PHP 5.3 можно использовать тернарный оператор в таком варианте:

<?php$var = $value ?: "Другое значение"; // еквивалентно$var = $value ? $value : "Другое значение";?>

Этот вариант полезно использовать, когда нужно изменить значение переменной, только в случае, когда проверяемая переменная не равняется true

PHP 7

Также, уже начиная с версии PHP 7.0 можно использовать тернарный оператор в таком варианте:

<?php$var = $value ?? "Другое значение"; // еквивалентно$var = isset($value) ? $value : "Другое значение";?>

Такой вариант полезно использовать, если нужно сначала проверить существует ли переменная. Т. е., если переменная не существует, то использовать какое-то другое значение.

Иногда даже использование конструкции операторов if .. elseif несколько утомляет.
Чтобы исправить эту ситуацию есть оператор switch. Синтаксис:

switch (exp){ case condition1: exp1; break;     case condition2: exp2; break;     case condition3: exp3; break;     default: exp4; break;}

Сначала записывается ключевое слово switch, после которого в скобках записывается некоторое выражение.
Далее, после слова case нужно перечислить возможные варианты значений, если значение истина, то выполняется группа операторов, которые записаны до оператора break. Если ни одно условие не подходит, то выполняется оператор default (если оператор default не записывать, то при не выполнении никаких других условий ничего не произойдет).

<?php$speed = 55; switch($speed){ case 30 :         echo "Ваша скорость 30 км/час"; break;     case 58 :         echo "Ваша скорость 50 км/час"; break;     case 70 :         echo "Превышение скорости !"; break;     default :         echo "Скорость в пределах нормы"; break; }?>

Также, при использовании оператора switch, мы можем записать несколько условий для некоторого действия:

<?php$speed = 55; switch($speed){ case 30 :     case 58 :         echo "Скорость в пределах нормы"; break;      case 70 :         echo "Превышение скорости !"; break;     default :         echo "Скорость в пределах нормы"; break; }?>

В результате мы увидим — "Скорость в пределах нормы".

Цикл FOR в PHP

Основной задачей компьютеров есть обработка большого количества информации, которое у человека заняло бы очень много времени.
Для обработки таких задач компьютер использует циклы. Первым циклом которым мы начнем главу будет цикл for. Ниже приведен его синтаксис:

for (exp1; exp2; exp3) statement

В выражение exp1 вставляют начальное значение для счетчика цикла — переменная, которая считает количество раз выполнения тела цикла.
exp2 — задает условие повторения цикла. Цикл будет выполнятся пока это условие будет true.
exp3 — выполняется каждый раз после выполенения тела цикла. Обычно, оно используется для изменения (увеличение или уменьшение) счетчика.
Пример:

<?phpfor ($i = 0; $i < 10; $i++){ echo "Вывод строки. 10 раз <br>"; } ?>

Отображение в браузере:

Вывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 разВывод строки. 10 раз

 

Циклы WHILE в PHP

Цикл WHILE, вместо использования счетчика цикла проверяет некоторое условие до того, пока это условие Истина (TRUE). Синтаксис:

while (exp) statement

Условие проверяется перед выполнением цикла, если оно будет Ложным в начале, то цикл не выполнится ни разу!
В теле цикла должна быть переменная которая будет оказывать влияние на условие, чтобы предотвратить зацикливание. Пример:

<?php$counter = 0; while ($counter < 5){ echo "Эта строка выведется 5 раз <br>";    $counter++;}?>

Отображение в браузере:

Эта строка выведется 5 разЭта строка выведется 5 разЭта строка выведется 5 разЭта строка выведется 5 разЭта строка выведется 5 раз

После вывода строки, переменная $counter увеличивается на 1, и когда она станет больше или равна 5, то цикл завершится.

Цикл DO... WHILE в PHP

Главное отличие цикла DO ... WHILE от WHILE в том, что первый сначала выполняется тело цикла, а потом проверяет условие. Т.е., если условие сразу Ложь, то цикл выполнится один раз.
Синтаксис

do statement while (condition)

Использование цикла DO... WHILE:

<?php$counter = 6; do{ echo "Эта строка выведется 1 раз <br>";    $counter++;}while ($counter < 5); ?>

В браузере мы получим такое:

Отображение в браузере:

Эта строка выведется 1 раз

Так как условие цикла сразу Ложь (6 > 5), то цикл выполнился всего один раз, так как сначала выполняется тело цикла, а потом проверяется условие цикла.

 

Цикл FOREACH представлен для упрощения работы с массивами (массивы будет рассмотрены дальше). Массивы состоят из отдельных элементов, цикл FOREACH предназначен для перебора этих элементов без счетчика.
Синтаксис:

foreach (array as $value) statement foreach (array as $key => $value) statement

Использование цикла:

<?php$array = array ("Apple", "Limon", "Chery", "Oranges"); foreach ($array as $value){ echo "Вы выбрали фрукт - $value <br>"; }?>

Отображение в браузере:


Дата добавления: 2018-06-27; просмотров: 663; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!