Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка PHP 2008.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.28 Mб
Скачать

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

9.1 Встроенные константы

9.2 Встроенные функции

9.1 Встроенные константы

В PHP представлен полный набор математических функций. Встроенные констнты приведены в таблице 9.1.

Таблица 9.1 – Встроенные константы

Константа

Значение

Пояснение

M_PI

3,14159265358979323846

Число 

M_E

2,7182818284590452354

e

M_LOG2E

1,4426950408889634074

log2(e)

M_LOG10E

0,43429448190325182765

lg(e)

M_LN2

0,69314718055994530942

ln(2)

M_LN10

2,30258509299404568402

ln (10)

M_PI_2

1,57079632679489661923

/2

M_PI_4

0,78539816339744830962

/4

M_1_PI

0,31830988618379067154

1/

M_2_PI

0,63661977236758134308

2/

M_SQRTPI

1,77245385090551602729

M_2_SQRTPI

1,12837916709551257390

2/

M_SQRT2

1,41421356237309504880

M_SQRT3

1,73205080756887729352

M_SQRT1_2

0,70710678118654752440

1/

M_LNPI

1,14472988584940017414

ln()

M_EULER

0,57721566490153286061

Постоянная Эйлера

9.2 Встроенные функции

Функции округления:

  • mixed abs(mixed $number)

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

  • double round(double $val)

Округляет $val до ближайшего целого, например:

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

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

  • int ceil(float $number)

Возвращает наименьшее целое число, не меньшее $number.

  • int floor(float $number)

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

Случайные числа:

  • int mt_rand(int $min=0, int $max=RAND_MAX)

Функция возвращает случайное число от 0 до RAND_MAX (эта константа задает максимально допустимое случайное число). Перед первым вызовом этой функции занужно пустить mt_srand().

  • void mt_srand(int $seed)

Настраивает генератор случайных чисел на новую последовательность. Числа, генерируемые mt_rand(), достаточно равновероятны, но у них есть недостаток: последовательность сгенерированных чисел будет одинакова если сценарий вызвать несколько раз подряд. Функция mt_srand() выбирает новую последовательность на основе параметра $seed, практически непредсказуемым образом.

  • int mt_getrandmax()

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

Перевод в различные системы счисления

  • string base_convert(string $number, int $frombase, int $tobase)

Переводит число $number (заданное как строка в системе счисления по основанию $frombase) в систему по основанию $tobase. Параметры $frombase и $tobase могут принимать значения только от 2 до 36 включительно. Пример:echo base_convert("FF",16,2);

  • int bindec(string $binary_string)

Преобразует двоичное число, заданное в строке $binary_string, в десятичное число.

  • string decbin(int $number)

Возвращает строку, представляющую собой двоичное представление целого числа $number. Максимальное число, которое может быть преобразовано, равно 2 147 483 647, (31 единичка в двоичной системе). Для восьмеричной и шестнадцатеричной систем существует такие же функции, называются они так же, только вместо "bin" подставляется соответственно "oct" и "hex".

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

  • mixed min(mixed $arg1 [int $arg2, ..., int $argn])

Функция возвращает наименьшее из чисел, заданных в ее аргументах. Различают два способа вызова этой функции: с одним параметром или с несколькими. Если указан лишь один параметр (первый), то он обязательно должен быть массивом и возвращается минимальный элемент этого массива. В противном случае первый (и остальные) аргументы трактуются как числа с плавающей точкой, они сравниваются, и возвращается наименьшее. Тип возвращаемого значения выбирается так: если хотя бы одно из чисел, переданных на вход, задано в формате с плавающей точкой, то и результат будет с плавающей точкой, в противном случае результат будет целым числом. С помощью этой функции нельзя лексикографически сравнивать строки – только числа.

  • mixed max(mixed $arg1 [int $arg2, ..., int $argn])

Функция ищет максимальное значение (аналогична min()).

Степенные функции:

  • float sqrt(float $arg)

Возвращает квадратный корень из аргумента. Если аргумент отрицателен, генерируется предупреждение.

  • float log(float $arg)

Возвращает натуральный логарифм аргумента. В случае недопустимого числа печатает предупреждение, но не завершает программу.

  • float exp(float $arg)

Возвращает e (2,718281828…) в степени $arg.

  • float pow(float $base, float $exp)

Возвращает $base в степени $exp.

Тригонометрия:

  • float acos(float $arg) // арккосинус

  • float asin(float $arg) // арксинус

  • float atan(float $arg) // арктангенс

  • float atan2(float $y, float $x)

Возвращает арктангенс величины $y/$x, но с учетом той четверти, в которой лежит точка ($x, $y). Эта функция возвращает результат в радианах, принадлежащий отрезку от  ∞ до +∞. Пример:

$alpha=atan2(1,1); // $alpha==pi/4

$alpha=atan2(-1,-1); // $alpha==-3*pi/4

  • float sin(float arg) // синус

  • float cos(float $arg) // косинус

  • float tan(float arg) // тангенс

Для синуса, косинуса, тангенса аргумент задается в радианах.

  • double pi() // число .