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


Содержание

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

Библиотека математических функций PHP реализует методы для тригонометрических вычислений, числовых преобразований и числовых операций. Тригонометрические функции воспринимают параметры в радианах, но существуют функции преобразования градусов в радианы и наоборот.

abs() — абсолютное значение числа.

acos() — арккосинус, выраженный в радианах.

asin() — арксинус, выраженный в радианах.

atan() — арктангенс, выраженный в радианах.

atan2() — арктангенс для координат x и y, выраженный в радианах. Отличие от выражения atan(y/x) состоит в том, что знаки обоих параметров используются для определения квадранта результата.

base_convert() — переводит число из одной системы счисления в другую. Аргументы: переводимое число, система счисления, из которой переводят, система счисления, в которую переводят.

bindec() — десятичный эквивалент двоичной строки. Наибольшее конвертируемое число содержит 31 разряд, что соответствует 2147483647.

ceil() — округление числа в большую сторону.

cos() — косинус аргумента, выраженного в радианах.

decbin() — двоичный эквивалент десятичного числа. Наибольшее конвертируемое число составляет 2147483647, или 31 разряд.

dechex() — шестнадцаричный эквивалент десятичного числа. Наибольшее конвертируемое число составляет 2147483647 или 7fffffff в шестнадцаричном выражении.

decoct() — восьмеричный эквивалент десятичного числа. Наибольшее конвертируемое число составляет 2147483647 или 17777777777 в восьмеричном выражении.

deg2rad() — преобразует градусы в радианы.

exp() — экспонента числа.

floor() — округление числа в меньшую сторону.

fmod(x, y) — остаток от деления x на y.

getrandmax() — максимальное число, которое может быть получено в результате вызова функции rand().

hexdec() — десятичный эквивалент шестнадцаричного числа, представленного строкой. Наибольшее конвертируемое число составляет 7fffffff или 2147483647 в десятичном выражении.

hypot(x, y) — длина гипотенузы прямоугольного треугольника со сторонами x и y.

is_finite() — проверяет, является ли число допустимым конечным числом на данной платформе.

is_infinite() — проверяет, является ли число бесконечным.

is_nan() — проверяет, является ли значение «не-числом».

lcg_value() — псевдослучайное число в диапазоне от 0 до 1.

log() — натуральный логарифм.

log10() — десятичный логарифм.

log1p() — log(1+x), рассчитанное таким образом, что результат точен, даже когда значение x близко к нулю. Из-за недостатка точности log() в этом случае может вернуть просто log(1).

max() — наибольшее значение из списка параметров. Возможно сравнение неограниченного кличества значений. В качестве параметра может быть задан массив.

min() — наибольшее значение из списка параметров. Возможно сравнение неограниченного количества значений. В качестве параметра может быть задан массив.

mt_getrandmax() — максимальное число, которое может быть получено в результате вызова функции mt_rand().

mt_rand() — случайное число. Для его получения используется генерация случайных чисел по методу Твистера. Необязательные аргументы указывают диапазон допустимых значений. Перед использованием этой функции необходимо установить начальное число с помощью функции mt_srand().

mt_srand() — устанавливает начальное число для генератора случайных чисел в соответствии с заданным параметром. Это позволяет получать различные результаты при вызове функции mt_rand().

number_format() — форматирует число. Аргументы: форматируемое число, число знаков после запятой, символ, используемый вместо десятичной точки (необязательно), символ разграничения тысяч (необязательно).

octdec() — десятичный эквивалент восьмеричного числа, представленного строкой. Наибольшее конвертируемое число составляет 17777777777 или 2147483647 в десятичном выражении.

pi() — приближенное значение числа π.

pow() — возведение в степень. Аргументы: основание и показатель степени.

rad2deg() — преобразует радианы в градусы.

rand() — псевдослучайное число. Необязательные аргументы указывают диапазон допустимых значений. Если их не задавать, то число выбирается из диапазона от 0 до RAND_MAX. Перед использованием этой функции необходимо установить начальное число с помощью функции srand().

round() — округление числа до ближайшего целого.

sin() — синус аргумента, выраженного в радианах.

sqrt() — квадратный корень числа.

srand() — устанавливает заданное начальное число для генератора псевдослучайных чисел. Это позволяет получать различные результаты при вызове функции rand().

tan() — тангенс аргумента, выраженного в радианах.

В языке PHP существуют также функции математических вычислений произвольной точности. Особенностью этих функций является параметр разрядности. Разрядность — количество знаков после десятичной точки в операндах и результате. По умолчанию принимается 0.

bcadd() — сумма первого и второго аргументов. Третий аргумент — параметр разрядности.

bccomp() — числовое сравнение. Если первый аргумент больше второго, то возвращается +1. Если первый аргумент меньше второго, то возвращается −1. Если аргументы равны, то возвращается 0.

bcdiv() — частное от деления первого аргумента на второй.

bcmod() — остаток от деления первого аргумента на второй.

bcmul() — произведение первого и второго аргументов. Третий аргумент — параметр разрядности.

bcpow() — возведение в степень. Аргументы: основание, показатель степени, параметр разрядности. Показатель степени не должен содержать знаков после десятичной точки.

bcscale() — значение параметра разрядности, который будет использоваться по умолчанию.

bcsqrt() — квадратный корень числа.

bcsub() — разность. Из первого аргумента вычитается второй.

PHP — Руководство по РНР 3.0 — Математические функции

Введение

Эти математические функции работают только с диапазоном чисел типа long и double. Если Вы хотите использовать большие числа, взгляните на математические функции произвольной точности. .

Математические константы

Следующие величины определяются как математические константы PHP:

Таблица 1. Математические константы

Константа Величина Описание
M_PI 3.14159265358979323846 Значение ¶ (pi)
Описание

mixed abs (mixed number);

Возвращает абсолютную величину числа. Если число с плавающей запятой, то также возвращает число с плавающей запятой.

Описание

float acos (float arg);

Возвращает арккосинус аргумента в радианах.

Описание

float asin (float arg);

Возвращает арксинус аргумента в радианах.

Описание

float atan (float arg);

Возвращает арктангенс аргумента в радианах.

Atan2

Описание


float atan2 (float y, float x);

Эта функция вычисляет арктангенс от двух переменных x и y. Аналогично вычислению арктангенса y / x, за исключением того, что знаки обоих аргументов используются для определения сектора результата.

Функция возвращает результат в радианах, находящихся между -PI и PI (включительно).

base_convert

Описание

strin base_convert (string number, int frombase, int tobase);

Возвращает строку, содержащую number, представленное по основанию tobase. Основание, в котором дается число which number указывается в frombase. Основания frombase и tobase должны находиться в диапазоне от 2 до 36 включительно. Цифры в числах с основанием выше, чем 10 будут представлены буквами a-z, со значениями a — 10, b — 11 и z — 36.

Пример 1. base_convert()

BinDec

Описание

int bindec (string binary_string);

Возвращает десятичный эквивалент двоичного числа, представленного аргументом binary_string.

OctDec конвертирует двоичное число в десятичное. Наибольшее число, которое может быть сконвертировано равно 31 битам или 2147483647 в десятичном виде.

Описание

int ceil (float number);

Возвращает следующее наивысшее целое значение number. Использование ceil() на целых числах — абсолютная трата времени.

ЗАМЕЧАНИЕ: Функция ceil() в PHP/FI 2 возвращаля число типа float. Используйте: $new = (double)ceil($number); для того, чтобы сэмулировать старое поведение функции.

Описание

float cos (float arg);

Возвращает косинус аргумента в радианах.

DecBin

Описание

string decbin (int number);

Возвращает строку, содержащую двоичное представление аргумента number. Наибольшее число, которое может быть сконвертировано равно 2147483647 в десятичном виде или 31 бит.

DecHex

Описание

string dechex (int number);

Возвращает строку, содержащую шестнадцатиричное представление аргумента number. Наибольшее число, которое может быть сконвертировано равно 2147483647 в десятичном виде или «7fffffff» в шестнадцатиричном.

DecOct

Описание

string decoct (int number);

Возвращает строку, содержащую восьмеричное представление аргумента number. Наибольшее число, которое может быть сконвертировано равно 2147483647 в десятичном виде или «17777777777» в восьмеричном. См.также octdec().

Описание

float exp (float arg);

Возвращает число e, возведенное в степень arg.

Floor

Описание

int floor (float number);

Возвращает следующее нижележащее значение после number. Использование floor() на целых числах — абсолютная потеря времени.

ЗАМЕЧАНИЕ: Функция floor() в PHP/FI 2 возвращала число типа float. Используйте: $new = (double)floor($number); для эмулирования старого поведения этой функции.

getrandmax

Описание

int getrandmax (void );

Возвращает максимальную величигу, которая может быть возвращена вызовом функции rand().

HexDec

Описание

int hexdec (string hex_string);

Возвращает десятичный эквивалент числа, представленного аргументом hex_string. HexDec конвертирует шестнадцатиричную сстроку в десятичное число. Наибольшее число, которое может быть сконверьтировано равно 7fffffff в шестнадцатиричном виде или 2147483647 в десятичном.

Описание

float log (float arg);

Возвращает натуральный логарифм от аргумента arg.

Log10

Описание

float log10 (float arg);

Возвращает логарифм по основанию 10 от аргумента arg.

Описание

mixed max (mixed arg1, mixed arg2, mixed argn);

max() возвращает наибольшее число из перечисленных в параметрах.

Если первый элемент является массивом, max() возвращает максимальную величину массива. Если первый парметр — целое, строка или типа double, следует использовать как минимум два параметра, и в этом случае max() возвращает наибольшее из этих величин. Вы можете сравнивать неограниченное количнество значений.

Если одна или более величин типа double, все остальные величины будут обращены double, и, соответственно, возвратится число типа double. Если ни одно из чисел не является double, то все будут обращены в целые и возвратится целое число.

Описание

mixed min (mixed arg1, mixed arg2, mixed argn);

min() возвращает наименьшее значение из указанных в аргументах.

Если первый параметр — массив, min() возвратит наименьшую величину массива. Если первый параметр — целое число, строка или double, следует указать минимум два парметра и min() возвратит наименьшую из них величину. Вы можете сравнивать неограниченно количество величин.

Если одна или более величин типа double, все остальные величины будут обращены double, и, соответственно, возвратится число типа double. Если ни одно из чисел не является double, то все будут обращены в целые и возвратится целое число.

Илон Маск рекомендует:  column-count в CSS

mt_rand

Описание

int mt_rand ([ int min ], [ int max ]);

Множество генераторов случайных чисел, написанных на старой библиотеке libcs, имеют неясные или неизвестные характеристики, и к тому же, медленны. По умолчанию с функцией rand() PHP использует генератор случайных чисел, написанный на libc. Функция mt_rand() является его полной заменой. Она использует генератор случайных чисел с известными характеристиками (Mersenne Twister), который производит случайные числа, пригодные для использования в криптографии и работает в четыре раза быстрее, чем средняя скорость, которую обеспечивает libc. Домашняя страница Mersenne Twister’а Вы можете найти по адресу http://www.math.keio.ac.jp/

matumoto/emt.html, а оптимизированную версию исходных текстов на http://www.scp.syr.edu/

Если функция вызывается без необязательных аргументов min и max, mt_rand() возвращает псевдо-случайное число между 0 и RAND_MAX. Если Вы хотите получить случайное число между 5 и 15 (включительно), то можно использовать следующий вызов функции: mt_rand(5,15).

Не забудьте инициализировать генератор случайных чисел перед использованием функции mt_srand().

Задачи на математические функции PHP

Учебник PHP


Практика

Важное

Регулярки

  • Урок №
    Введение, задач нет
  • Урок №
    Работа с регулярными
    выражениями в PHP. Глава 1.
  • Урок №
    Работа с регулярными
    выражениями в PHP. Глава 2.
  • Урок №
    Работа с регулярными
    выражениями в PHP. Глава 3.
  • Урок №
    Работа с регулярными
    выражениями в PHP. Глава 4.

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

  • Урок №
    Введение, задач нет
  • Урок №
    Команды SELECT,
    INSERT, DELETE, UPDATE
  • Урок №
    Команды ORDER BY,
    LIMIT, COUNT, LIKE в SQL

Практика по работе с БД в PHP

Перед чтением см. новые уроки раздела «Важное», которые появились выше.

Практика

Движок PHP

Продвинутые БД

Аутентификация

Практика

ООП и MVC

Абстрактные классы и интерфейсы

Трейты

ООП Магия

Практика

Практика: классы как набор методов

  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс ArrayConvertor
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс TagHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс FormHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс TableHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс SessionShell
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс CookieShell
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс FileManipulator
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс databaseShell TODO cart корзина flash шаблонизатор роутер контроллер кеш логи фалидатор

Перед решением задач изучите теорию к данному уроку.

Примеры решения задач

Задача . Округление и ассоциативный массив

Задача. Найдите корень из числа 1000. Округлите его в большую и меньшую стороны. В массив $arr запишите первым элементом корень из числа, вторым элементом — округление в меньшую сторону, третьим элементом — в большую.

Решение: корень из числа найдем функцией sqrt. Далее, чтобы округлить число в меньшую строну, воспользуемся функцией floor, а чтобы в большую — функцией ceil:

Теперь результаты необходимо записать в массив. Сделать это можно двумя способами: объявить через [ ] либо просто воспользоваться присваиванием $arr[ ] = ‘html’; $arr[ ] = ‘php’; и так далее.

Задача . Массив случайных чисел

Задача. Заполните массив 30-ю случайными числами от 1 до 10.

Решение: для решения воспользуемся циклом for — прокрутим его 30 раз, записывая при каждом проходе случайное число в новый элемент массива.

Случайные числа будем получать через функцию mt_rand.

Чтобы число записалось в новый элемент массива, следует сделать так: $arr[ ] = 1; $arr[ ] = 2; — первое число запишется в нулевой элемент массива, а второе — в первый (с ключом 1). В случае со случайными числами это будет выглядеть так:

Напоминаю о том, что ключи можно не оставлять пустыми, а делать своими:

При большом желании мы можем вручную сделать 30 таких строчек — и задача решена. Но пусть лучше за нас это сделает цикл:

Задачи для решения

Работа с %

Даны переменные $a=10 и $b=3. Найдите остаток от деления $a на $b.

Даны переменные $a и $b. Проверьте, что $a делится без остатка на $b. Если это так — выведите ‘Делится’ и результат деления, иначе выведите ‘Делится с остатком’ и остаток от деления.

Работа со степенью и корнем

Возведите 2 в 10 степень. Результат запишите в переменную $st.

Найдите квадратный корень из 245.

Дан массив с элементами 4, 2, 5, 19, 13, 0, 10. Найдите корень из суммы квадратов его элементов. Для решения воспользуйтесь циклом foreach.

Работа с функциями округления

Найдите квадратный корень из 379. Результат округлите до целых, до десятых, до сотых.

Найдите квадратный корень из 587. Округлите результат в большую и меньшую сторону, запишите результаты округления в ассоциативный массив с ключами ‘floor’ и ‘ceil’.

Работа с min и max

Даны числа 4, -2, 5, 19, -130, 0, 10. Найдите минимальное и максимальное число.

Работа с рандомом

Выведите на экран случайное число от 1 до 100.

Заполните массив 10-ю случайными числами. Подсказка: нужно воспользоваться циклами for или while.

Работа с модулем

Даны переменные $a и $b. Найдите найдите модуль разности $a и $b. Проверьте работу скрипта самостоятельно для различных $a и $b.

Дан массив в числами, к примеру [1, 2, -1, -2, 3, -3]. Создайте из него новый массив так, чтобы отрицательные числа стали положительными, то есть у нас должен получиться такой массив: [1, 2, 1, 2, 3, 3].


Задачи

Дано число, например 30. У этого числа есть делители — числа, на которое оно делится без остатка. Делители числа 30 — это 1, 2, 3, 5, 6, 10, 15, 30. Задача: сделайте массив делителей нашего числа. Число может быть любым, не обязательно, 30.

Дан массив [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. Узнайте, сколько первых элементов массива нужно сложить, чтобы сумма получилась больше 10.

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

abs

Возвращает модуль числа.

Синтаксис:

mixed abs(mixed $number)

Тип параметра $number может быть float или int, а ти п возвращаемого значения всегда совпадает с типом этого параметра.

$x = abs(-7.45); // $x=7.45

round

Округление дробного числа до целого.

Синтаксис:

double round(double $val)

Округляет $val до ближайшего целого и возвращает результат.

$foo = round(3.4); // $foo == 3.0

$foo = round(3.5); // $foo == 4.0

$foo = round(3.6); // $foo == 4.0

$x = round(5.45); // $x=5

ceil

Дополнение дробного числа до следующего целого.

Синтаксис:

int ceil(float $number)

Возвращает наименьшее целое число, не меньше $number. Разумеется, передавать в $number целое число бессмысленно.

floor

Удаление дробной части числа.

Синтаксис:

int floor(float $number)

Возвращает максимальное целое число, не превосходящее $number.

Похожие главы из других книг

2.1. Предыстория. Математические основы

2.1. Предыстория. Математические основы Представление различных понятий окружающего нас мира при помощи графической символики уходит своими истоками в глубокую древность. В качестве примеров можно привести условные обозначения знаков Зодиака, магические символы

Функции

Математические формулы для женщин

Математические формулы для женщин Авторы: Скамейкин, Алексей, Яблоков, Сергей Две тысячи лет мужчины провели впустую. Вместо того чтобы написать формулу красоты и здоровья или хотя бы соорудить внятное определение красоты, они ходили вокруг да около, не в силах

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

Математические функции Создайте чистую таблицу. Эту таблицу мы будем использовать для примеров использования функций.Наиболее часто используемая функция в математических расчетах – это КОРЕНЬ.1. Выделите ячейку R2C2. В эту ячейку мы будем вставлять функцию.2. Нажмите

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

Математические функции Имеющиеся в VBScript функции, предназначенные для математических вычислений, описаны в табл. П2.14.Таблица П2.14. Математические функции Функция Описание Abs(x) Возвращает абсолютное значение числа х Atn(x) Возвращает арктангенс числа х Cos(x) Возвращает

4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации

4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации Раздел «4.5.2. Функции Geometry» обсуждает несколько функций, которые создают новые конфигурации из

8.1.9. Массивы как математические множества

8.1.9. Массивы как математические множества В большинстве языков множества напрямую не реализованы (Pascal составляет исключение). Но массивы в Ruby обладают некоторыми свойствами, которые позволяют использовать их как множества. В данном разделе мы рассмотрим эти свойства и

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

Математические функции Функции округления absВозвращает модуль числа.Синтаксис:mixed abs(mixed $number)Тип параметра $number может быть float или int, а ти п возвращаемого значения всегда совпадает с типом этого параметра.$x = abs(-4); // $x=4$x = abs(-7.45); // $x=7.45roundОкругление дробного числа до

Функции в PHP

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

Математические функции Функция Краткое описание abs нахождение абсолютного значения выражения типа int acos вычисление арккосинуса asin вычисление арксинуса atan вычисление арктангенса х atan2 вычисление арктангенса от у/х cabs нахождение абсолютного значения

Математические формулы

Математические формулы Кирпичи просто создавать, использовать, они понятны и просты, но на протяжении столетий возникло и сформировалось более тонкое понимание систем упорядочения. Эти открытия и нововведения развивали наше понимание сеток. Обращаясь к математике,

4.1. Математические формулы

4.1. Математические формулы В текстовом редакторе Word существует специальный инструмент для работы с формулами – редактор формул. С его помощью можно создавать сложные объекты, выбирая символы с панели инструментов и задавая переменные и числа. При этом размер шрифтов,

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

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

В первую очередь рассмотрим основные математические константы, которые разработчики встроили в язык php.

Это число PI и число Е;

Теперь перейдём к изучению самих функций.

Модуль числа в php находится через функцию abs.

Для округления чисел в php, есть функция round

В данном случае мы округляем до целого числа в сторону большего остатка. Полученный результат:

Также можно задать параметр для округления остатка

Указав число, вы показываете, до какого числа после запятой будет округляться число:

Также есть функции, которые округляют до большего целого ceil или до меньшего floor

Тут всё просто. К примеру эти функции могут понадобится при создании навигации для сайта.

Генерация случайного числа

Для генерации случайного числа в php есть функция mt_rand, которая генерирует случайное число в нужном диапазоне.

И при каждом обновлении страницы, мы будем получать случайные числа в наших диапазонах.

Поиск максимального и минимального числа

Есть функция, которая из заданных чисел или переменных найдёт нам максимальное или минимальное значение, за это в php отвечают функции min и max.

Функция выведет нам нужное значение.

Для нахождения котангенса применим математическую формулу.

Обратите мы находим результаты от радианов, чтобы из радианов получить градусы, применим следующие:

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

Привет всем, сегодня мы изучим с Вами некоторые математические функции PHP, а именно научимся рассчитывать синус, косинус, тангенс, катангенс. Для их расчета существуют соответствующие функции, sin, cos, tan. Однако функции катангенса в PHP нет, но все равно мы научимся с Вами его рассчитывать. Не будем попросту тянуть время, а приступим к рассмотрению примеров.

Илон Маск рекомендует:  Что такое код hw_array2objrec


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

Вот мы и рассчитали катангенс, благодаря знаниям из школы. Ну что, думаю на этом можно завершать изучение нашей темы. До скорой встречи!

5 последних свежих статей:

Методы alert, prompt, confirm в JavaScript

И снова я приветствую Вас в очередной теме посвященной языку JavaScript, в которой мы разберем методы alert, prompt, confrim.

Конструкция switch-case в JavaScript

Всем привет, сегодня мы рассмотрим с Вами конструкцию switch-case в языке JavaScript.

Всплывающая подсказка на CSS

Здравствуйте дорогие друзья, сегодня мы с Вами изучим еще одну тему посвященную языку CSS. И научимся реализовывать всплывающие подсказки на CSS.

Псевдокласс target в CSS

Сегодня мы рассмотрим еще одну возможность, которую предоставляет нам CSS3, а именно поговорим о псевдоклассе target, для чего он нам может быть нужен, и рассмотрим один из самых популярных способов его применения.

Как вставить видео с YouTube

Довольно часто Вы видите на различных ресурсах видео, которое хранится на сервисе youtube, но каким-то образом его можно воспроизвести на данном сайте. Об этом сегодня пойдет речь, и я расскажу Вам, как вставить видео с YouTube.

Тригонометрия, случайные числа и многое другое со встроенными математическими функциями PHP

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

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

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

Тригонометрические функции в PHP

Вы можете рассчитать значение синуса, cos и касательных разных углов, заданных в радианах, используя sin($angle) , cos($angle) и tan($angle) . Все они возвращают значения float , и переданная им мера угла находится в радианах.

Это означает, что когда вы просто вычисляете tan(45) , вы не получите 1 в качестве вывода, потому что вы фактически будете вычислять значение касательной на 45 радиан, что составляет около 2,578 градусов. К счастью, PHP имеет две очень полезные функции для преобразования радианов в градусы и наоборот. Этими функциями являются rad2deg() и deg2rad() . Итак, если вы действительно хотите вычислить значение касательной 45 градусов, вам нужно будет написать tan(deg2rad(45)) .

Стоит отметить, что нет прямой функции PHP для вычисления значений cosec() , sec() или cot() . Однако, эти значения являются просто взаимными значениями sin() , cos() и tan() , поэтому вы можете подсчитать их значения косвенно.

Вы также можете сделать наоборот и вычислить угол, при котором тригонометрический угол имеет определенное значение. Эти функции называются asin() , acos() и atan() . Одна вещь, которую вы должны помнить, состоит в том, что значения sin и cos никогда не могут выходить за пределы от -1 до 1 для любого угла. Это означает, что asin() и acos() могут принимать значения только в диапазоне от -1 до 1 в качестве действительных аргументов. Значение вне этого диапазона даст вам NaN.

В тригонометрии есть много приложений, таких как определение траектории объекта или высоты и расстояния от разных объектов, поэтому доступ к этим функциям определенно полезен, если вы пишете код, который имитирует эти ситуации.

Эти функции также очень полезны, когда вы хотите нарисовать разные элементы, используя радиальные и угловые значения. Предположим, вы хотите нарисовать кружок вокруг большего круга на равномерном расстоянии. Если вы прочитали учебник PHP GD Shapes на Envato Tuts+, вы, вероятно, помните, что для рисования любых фигур вам потребуется передать координаты в виде координат x, y, но рисовать круговые рисунки проще с полярными координатами.

Использование этих тригонометрических функций в этом случае поможет вам нарисовать нужные цифры, используя sin() и cos() , чтобы преобразовать полярные координаты в декартовую форму. Вот пример:

На следующем рисунке показан окончательный результат вышеуказанного PHP-кода.

Экспоненциальные и логарифмические функции

PHP также имеет некоторые экспоненциальные и логарифмические функции. Функция exp($value) вернет константу e, в виде значения десятичной дроби $value . Аналогично, вы можете вычислить логарифм заданного числа с любым основанием, используя функцию log($arg, $base) . Если $base опущено, логарифм будет вычисляться с использованием натурального основания e. Если вы хотите вычислить логарифм числа с основанием 10, вы можете просто использовать функцию log10($arg) .

Еще одна функция, которую вы можете найти полезной, — pow($base, $exp) , которая возвращает $base , увеличенную до $exp . Некоторые из вас могут предпочесть использовать оператор ** . Выражение $a**$b даст тот же результат, что и pow($a, $b) . Однако, вы можете получить неверные результаты в определенных ситуациях с помощью $a**$b . Например, -1**0.5 даст вам -1, что неверно. Вычисление того же выражения с использованием pow(-1, 0.5) даст правильное значение NaN.

Другие полезные математические функции

Округление чисел

Есть много других важных математических функций. Вы можете округлить числа или десятичные числа до ближайшего целого числа, используя функцию ceil(float $value) . Это преобразует как 2.1, так и 2.9 в 3. Аналогичным образом вы можете округлить дроби или десятичные числа до ближайшего целого числа, используя функцию floor(float $value) . Она изменит оба числа как 2.1, так и 2.9 в 2.

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

Вы часто хотите округлить число вверх или вниз до ближайшего целого числа. Например, вам может потребоваться изменить 2.1 на 2, а с 2.9 до 3. Это можно сделать легко, используя функцию round($value, $precision, $mode) . Параметр $precision определяет количество знаков после запятой для округления. Значение по умолчанию 0 будет просто возвращать целые числа. Третий параметр $mode используется для определения того, что произойдет, если число, которое вы хотите округлить, находится ровно посередине. Вы можете использовать его, чтобы указать, следует ли заменить 3.5 на 3 или на 4.

Минимум и максимум

PHP также имеет две функции: min($values) и max($values) , которые помогут вам определить самые низкие и самые высокие значения в наборе или массиве чисел. Эти функции могут принимать различные параметры, такие как два массива и строка. Вы должны взглянуть на документацию, чтобы посмотреть, как они будут сравниваться.

Целочисленное деление

Вы также можете выполнять целочисленное деление в PHP с помощью функции intdiv($divendend, $divisor) . В этом случае после деления возвращается только целая часть частного. Точно так же вы можете получить остаток или по модулю после разделения двух аргументов, используя функцию fmod($divendend, $divisor) . Возвращаемое значение всегда будет меньше, чем $divisor .

Существуют и другие полезные функции, такие как is_nan($value) , is_finite($value) и is_infinite($val) , которые могут быть использованы для определения того, является ли это значение числом и, если оно является числом, является ли оно конечным или бесконечным , Помните, что PHP считает, что любое значение, которое слишком велико, чтобы поместить в float, бесконечным. Таким образом is_finite() вернет true для 100 факториалов, но false для 1000 факториалов.

Генерация случайных чисел в PHP

Случайные числа оказываются весьма полезными в ряде ситуаций. Вы можете использовать их для генерации «случайных» данных для вашего приложения или для создания экземпляров противника в играх и т. д. Очень важно помнить, что ни одна из функций, которые мы обсуждаем в этом разделе, не генерирует криптографически безопасные случайные числа. Эти функции предназначены только для использования в ситуациях, когда безопасность не является проблемой, например, показывать произвольные приветственные тексты для посетителей или для генерации случайных статистических данных.

Функции rand($min, $max) и mt_rand($min, $max) могут генерировать положительные случайные целые числа между заданными значениями, включая значения $min и $max . Когда функции вызывают без каких-либо параметров, они генерируют случайные числа между 0 и getrandmax() . Вы можете echo значение getrandmax() , чтобы увидеть максимально возможное случайное число, которое эти функции могут генерировать на вашей платформе.

Функция mt_rand() в 4 раза быстрее, чем rand() , и возвращает false, если $max меньше $min . Начиная с PHP 7.1.0, rand() фактически стал псевдоним mt_rand() . Единственное различие заключается в том, что rand() все еще не дает ошибку, если $max меньше, чем $min , чтобы поддерживать обратную совместимость.

Вот цикл для генерации случайных значений от 0 до 100 миллионов раз. Как вы можете видеть, значения 0, 50 и 100 генерируются приблизительно 10 000 раз с небольшими колебаниями.

Обе эти функции также имеют свои собственные функции, называемые srand() и mt_srand() , чтобы обеспечить работу генераторов случайных чисел. Вы должны помнить, что вы только вызываете srand() и mt_srand() один раз в своей программе. Вызов их перед каждым вызовом rand() и mt_rand() будет давать вам те же «случайные» номера каждый раз.

Заключительные мысли

PHP поставляется с множеством встроенных функций, которые должны отвечать всем вашим повседневным потребностям в расчетах. Вы можете использовать эти функции для выполнения немного более сложных вычислений, таких как GCD, LCM и факториалы.

При использовании этих функций вам нужно запомнить несколько вещей. Например, значение, возвращаемое такими функциями, как floor() и ceil() , является целым числом, но оно по-прежнему является float. Аналогично, все тригонометрические функции ожидают, что их углы будут заданы в радианах. Вы получите неверные результаты, если вы передадите им значение угла, которое вы хотели бы рассматривать как меру степени. Поэтому убедитесь, что вы проверяете возвращаемое значение и ожидаемые аргументы всех этих функций в документации.

PHP :: Математические расширения

Как и в других языках программирования, в PHP имеется как набор математических констант, так и набор стандартных математических функций. Найти их можно в подразделе ‘Математические расширения’ -> ‘Math’ . При этом следует помнить, что функции данного подраздела работают только с числами в диапазонах типов integer и float . Если же возникает необходимость в работе с большими числами, следует обращаться к подразделу ‘BC Math’ , содержащему математические функции произвольной точности. Рассмотрим некоторые из математических функций на примере №1.

Пример №1. Использование математических функций

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

Эти math-функции обрабатывают только значения в диапазоне типов от integer до float на вашем компьютере (в данный момент это соответствует C-типам от long до double). Если вам нужно работать с б́ольшими числами, ознакомьтесь с math-функциями произвольной точности.

Следующие значения определены как константы в PHP расширением math:

Илон Маск рекомендует:  Что такое код dbplus_info
Таблица 1. Math-константы

Константа Значение Описание
M_PI 3.14159265358979323846 Pi
M_E 2.7182818284590452354 e
M_LOG2E 1.4426950408889634074 log_2 e
M_LOG10E 0.43429448190325182765 log_10 e
M_LN2 0.69314718055994530942 log_e 2
M_LN10 2.30258509299404568402 log_e 10
M_PI_2 1.57079632679489661923 pi/2
M_PI_4 0.78539816339744830962 pi/4
M_1_PI 0.31830988618379067154 1/pi
M_2_PI 0.63661977236758134308 2/pi
M_SQRTPI 1.77245385090551602729 sqrt(pi) [4.0.2]
M_2_SQRTPI 1.12837916709551257390 2/sqrt(pi)
M_SQRT2 1.41421356237309504880 sqrt(2)
M_SQRT3 1.73205080756887729352 sqrt(3) [4.0.2]
M_SQRT1_2 0.70710678118654752440 1/sqrt(2)
M_LNPI 1.14472988584940017414 log_e(pi) [4.0.2]
M_EULER 0.57721566490153286061 константа Эйлера [4.0.2]

Только M_PI доступна в версиях до PHP 4.0.0. Все другие константы доступны, начиная с PHP 4.0.0. Константы, помеченные [4.0.2] были введены в PHP 4.0.2.

Содержание abs — абсолютное значение acos — арккосинус acosh — инверсный гиперболический косинус asin — арксинус asinh — инверсный гиперболический синус atan2 — арктангенс двух переменных atan — арктангенс atanh — инверсный гиперболический тангенс base_convert — конвертирует число между произвольными базами bindec — двоичное в 10-ричное ceil — округление дробей в сторону увеличения cos — косинус cosh — гиперболический косинус decbin — десятеричное в двоичное dechex — 10-ричное в 16-ричное decoct — 10-ричное в 8-ричное deg2rad — конвертирует число в градусах в эквивалент в радианах exp — e в степени . expm1 — возвращает exp(число) — 1, вычисляемое способом, который обеспечивает точность, даже если значение близко к нулю floor — округляет дробь в сторону уменьшения getrandmax — показывает наибольшее возможное случайное значение hexdec — 16-ричное в 10-ричное hypot — возвращает sqrt( num1*num1 + num2*num2) is_finite — is_infinite — is_nan — lcg_value — комбинированный линеарный конгруэнтный генератор log10 — логарифм с базой 10 log1p — возвращает log(1 + число), вычисляемое способом, который обеспечивает точность, даже если значение близко к нулю log — натуральный логарифм max — находит наибольшее значение min — находит наименьшее значение mt_getrandmax — показывает наибольшее возможное случайное значение mt_rand — генерирует наилучшее случайное значение mt_srand — запускает генератор наилучшего случайного числа number_format — форматирует число с группировкой по тысячам octdec — 8-ричное в 10-ричное pi — значение pi pow — экспоненциальное выражение rad2deg — конвертирует число в радианах в эквивалент в градусах rand — генерирует случайное число round — округляет число с плавающей точкой/float sin — синус sinh — гиперболический синус sqrt — квадратный корень srand — запускает генератор наилучшего случайного числа tan — тангенс tanh — гиперболический тангенс


Назад Оглавление Вперёд
mailparse_uudecode_all Вверх abs

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

Тригонометрия, случайные числа и многое другое со встроенными математическими функциями PHP

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

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

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

Тригонометрические функции в PHP

Вы можете рассчитать значение синуса, cos и касательных разных углов, заданных в радианах, используя sin($angle) , cos($angle) и tan($angle) . Все они возвращают значения float , и переданная им мера угла находится в радианах.

Это означает, что когда вы просто вычисляете tan(45) , вы не получите 1 в качестве вывода, потому что вы фактически будете вычислять значение касательной на 45 радиан, что составляет около 2,578 градусов. К счастью, PHP имеет две очень полезные функции для преобразования радианов в градусы и наоборот. Этими функциями являются rad2deg() и deg2rad() . Итак, если вы действительно хотите вычислить значение касательной 45 градусов, вам нужно будет написать tan(deg2rad(45)) .

Стоит отметить, что нет прямой функции PHP для вычисления значений cosec() , sec() или cot() . Однако, эти значения являются просто взаимными значениями sin() , cos() и tan() , поэтому вы можете подсчитать их значения косвенно.

Вы также можете сделать наоборот и вычислить угол, при котором тригонометрический угол имеет определенное значение. Эти функции называются asin() , acos() и atan() . Одна вещь, которую вы должны помнить, состоит в том, что значения sin и cos никогда не могут выходить за пределы от -1 до 1 для любого угла. Это означает, что asin() и acos() могут принимать значения только в диапазоне от -1 до 1 в качестве действительных аргументов. Значение вне этого диапазона даст вам NaN.

В тригонометрии есть много приложений, таких как определение траектории объекта или высоты и расстояния от разных объектов, поэтому доступ к этим функциям определенно полезен, если вы пишете код, который имитирует эти ситуации.

Эти функции также очень полезны, когда вы хотите нарисовать разные элементы, используя радиальные и угловые значения. Предположим, вы хотите нарисовать кружок вокруг большего круга на равномерном расстоянии. Если вы прочитали учебник PHP GD Shapes на Envato Tuts+, вы, вероятно, помните, что для рисования любых фигур вам потребуется передать координаты в виде координат x, y, но рисовать круговые рисунки проще с полярными координатами.

Использование этих тригонометрических функций в этом случае поможет вам нарисовать нужные цифры, используя sin() и cos() , чтобы преобразовать полярные координаты в декартовую форму. Вот пример:

На следующем рисунке показан окончательный результат вышеуказанного PHP-кода.

Экспоненциальные и логарифмические функции

PHP также имеет некоторые экспоненциальные и логарифмические функции. Функция exp($value) вернет константу e, в виде значения десятичной дроби $value . Аналогично, вы можете вычислить логарифм заданного числа с любым основанием, используя функцию log($arg, $base) . Если $base опущено, логарифм будет вычисляться с использованием натурального основания e. Если вы хотите вычислить логарифм числа с основанием 10, вы можете просто использовать функцию log10($arg) .

Еще одна функция, которую вы можете найти полезной, — pow($base, $exp) , которая возвращает $base , увеличенную до $exp . Некоторые из вас могут предпочесть использовать оператор ** . Выражение $a**$b даст тот же результат, что и pow($a, $b) . Однако, вы можете получить неверные результаты в определенных ситуациях с помощью $a**$b . Например, -1**0.5 даст вам -1, что неверно. Вычисление того же выражения с использованием pow(-1, 0.5) даст правильное значение NaN.

Другие полезные математические функции

Округление чисел

Есть много других важных математических функций. Вы можете округлить числа или десятичные числа до ближайшего целого числа, используя функцию ceil(float $value) . Это преобразует как 2.1, так и 2.9 в 3. Аналогичным образом вы можете округлить дроби или десятичные числа до ближайшего целого числа, используя функцию floor(float $value) . Она изменит оба числа как 2.1, так и 2.9 в 2.

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

Вы часто хотите округлить число вверх или вниз до ближайшего целого числа. Например, вам может потребоваться изменить 2.1 на 2, а с 2.9 до 3. Это можно сделать легко, используя функцию round($value, $precision, $mode) . Параметр $precision определяет количество знаков после запятой для округления. Значение по умолчанию 0 будет просто возвращать целые числа. Третий параметр $mode используется для определения того, что произойдет, если число, которое вы хотите округлить, находится ровно посередине. Вы можете использовать его, чтобы указать, следует ли заменить 3.5 на 3 или на 4.

Минимум и максимум

PHP также имеет две функции: min($values) и max($values) , которые помогут вам определить самые низкие и самые высокие значения в наборе или массиве чисел. Эти функции могут принимать различные параметры, такие как два массива и строка. Вы должны взглянуть на документацию, чтобы посмотреть, как они будут сравниваться.

Целочисленное деление

Вы также можете выполнять целочисленное деление в PHP с помощью функции intdiv($divendend, $divisor) . В этом случае после деления возвращается только целая часть частного. Точно так же вы можете получить остаток или по модулю после разделения двух аргументов, используя функцию fmod($divendend, $divisor) . Возвращаемое значение всегда будет меньше, чем $divisor .

Существуют и другие полезные функции, такие как is_nan($value) , is_finite($value) и is_infinite($val) , которые могут быть использованы для определения того, является ли это значение числом и, если оно является числом, является ли оно конечным или бесконечным , Помните, что PHP считает, что любое значение, которое слишком велико, чтобы поместить в float, бесконечным. Таким образом is_finite() вернет true для 100 факториалов, но false для 1000 факториалов.

Генерация случайных чисел в PHP

Случайные числа оказываются весьма полезными в ряде ситуаций. Вы можете использовать их для генерации «случайных» данных для вашего приложения или для создания экземпляров противника в играх и т. д. Очень важно помнить, что ни одна из функций, которые мы обсуждаем в этом разделе, не генерирует криптографически безопасные случайные числа. Эти функции предназначены только для использования в ситуациях, когда безопасность не является проблемой, например, показывать произвольные приветственные тексты для посетителей или для генерации случайных статистических данных.

Функции rand($min, $max) и mt_rand($min, $max) могут генерировать положительные случайные целые числа между заданными значениями, включая значения $min и $max . Когда функции вызывают без каких-либо параметров, они генерируют случайные числа между 0 и getrandmax() . Вы можете echo значение getrandmax() , чтобы увидеть максимально возможное случайное число, которое эти функции могут генерировать на вашей платформе.

Функция mt_rand() в 4 раза быстрее, чем rand() , и возвращает false, если $max меньше $min . Начиная с PHP 7.1.0, rand() фактически стал псевдоним mt_rand() . Единственное различие заключается в том, что rand() все еще не дает ошибку, если $max меньше, чем $min , чтобы поддерживать обратную совместимость.

Вот цикл для генерации случайных значений от 0 до 100 миллионов раз. Как вы можете видеть, значения 0, 50 и 100 генерируются приблизительно 10 000 раз с небольшими колебаниями.

Обе эти функции также имеют свои собственные функции, называемые srand() и mt_srand() , чтобы обеспечить работу генераторов случайных чисел. Вы должны помнить, что вы только вызываете srand() и mt_srand() один раз в своей программе. Вызов их перед каждым вызовом rand() и mt_rand() будет давать вам те же «случайные» номера каждый раз.

Заключительные мысли

PHP поставляется с множеством встроенных функций, которые должны отвечать всем вашим повседневным потребностям в расчетах. Вы можете использовать эти функции для выполнения немного более сложных вычислений, таких как GCD, LCM и факториалы.

При использовании этих функций вам нужно запомнить несколько вещей. Например, значение, возвращаемое такими функциями, как floor() и ceil() , является целым числом, но оно по-прежнему является float. Аналогично, все тригонометрические функции ожидают, что их углы будут заданы в радианах. Вы получите неверные результаты, если вы передадите им значение угла, которое вы хотели бы рассматривать как меру степени. Поэтому убедитесь, что вы проверяете возвращаемое значение и ожидаемые аргументы всех этих функций в документации.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL