|
h)
Эта функция очень простая. Она создает список, заполненный целыми числами от
$low до $high включительно. Ее удобно применять, если мы хотим быстро сгенери-
ровать массив для последующего прохождения по нему циклом foreach:
=$i?> |
Глава 13. Работа с массивами 237
Это строка номер =$i?> |
}?>
С точки зрения дизайнеров (не знакомых с PHP, но которым придется модифициро-
вать внешний вид вашего сценария) представленный подход выглядит явно лучше,
чем следующий фрагмент:
=$i?> |
Это строка номер =$i?> |
}?>
Глава 14
Математические
функции
В PHP представлен полный набор математических функций, которые присутствуют в
большинстве других языков программирования. Правда, здесь они используются не-
сколько реже, потому что в сценаиях вообще редко приходится иметь дело со слож-
ными вычислениями.
Встроенные константы
PHP версии 4 предлагает нам несколько предопределенных констант, которые обо-
значают различные математические постоянные с максимальной машинной точно-
стью. Соответствующие этим константам ключевые слова и значения приводятся в
табл. 14.1.
Таблица 14.1. Математические константы.
Константа Aaee.eia Пояснение
M_PI 3,14159265358979323846 Число p
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 p /2
M_PI_4 0,78539816339744830962 p /4
M_1_PI 0,31830988618379067154 1/ p
M_2_PI 0,63661977236758134308 2/ p
M_SQRTPI 1,77245385090551602729 sqrt(p)
M_2_SQRTPI 1,12837916709551257390 2/sqrt(p)
Глава 14. Математические функции 239
M_SQRT2 1,41421356237309504880 sqrt(2)
Таблица 14.1 (окончание)
Константа Aaee.eia Пояснение
M_SQRT3 1,73205080756887729352 sqrt(3)
M_SQRT1_2 0,70710678118654752440 1/sqrt(2)
M_LNPI 1,14472988584940017414 Ln(p)
M_EULER 0,57721566490153286061 Постоянная Эйлера
Надо заметить, разработчики PHP что-то слишком разошлись, когда вводили стан-
дартные константы. Например, я не могу даже и представить, зачем в Web-
программировании может потребоваться, например, константа Эйлера. Что же, это
их право….
Функции округления
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
$foo = round(3.6); // $foo == 4.0
int ceil(float $number)
Возвращает наименьшее целое число, не меньшее $number. Разумеется, передавать в
$number целое число бессмысленно.
int floor(float $number)
Возвращает максимальное целое число, не превосходящее $number.
Случайные числа
Следующие три функции предназначены для генерации случайных чисел. Пожалуй, в
Web-программировании самое распространенное применение они находят в сценари-
ях показа баннеров.
Часть IV. Стандартные функции PHP 240
Я намеренно не рассматриваю функции rand() и srand(), потому что каче-
ство случайных чисел, которые они выдают, никуда не годится. Настоятельно
рекомендую вместо них использовать описанные ниже функции, а про rand()
вообще забыть.
int mt_rand(int $min=0, int $max=RAND_MAX)
Функция возвращает случайное число, достаточно равномерно даже для того, чтобы
использовать ее в криптографии. Подробнее о том алгоритме, который она
использу-
ет, можно прочитать в Интернете по адресу
http://www.math.keio.ac.jp/~matumoto/emt.html, а исходные тексты найти по
адресу
http://www.scp.syr.edu/~marc/hawk/twister.html. Если вы хотите генерировать
числа
не от 0 до RAND_MAX (эта константа задает максимально допустимое случайное
число,
и ее можно получить при помощи вызова mt_getrandmax()), задайте соответст-
вующий интервал в параметрах $min и $max.
Не з
|
|