Оглавление

16. Функции для работы с числами

Перечислим основные функции для работы с числами:
□ sin(), cos(), tan() — стандартные тригонометрические функции (синус,косинус, тангенс). Значение указывается в радианах;
□ asin(),  acos(), atan() — обратные  тригонометрические  функции (арксинус, арккосинус, арктангенс). Значение возвращается в радианах;
□ exp() — экспонента;
□ log() — натуральный логарифм;
□ pow(<Число>, <Степень>) — возведение <Числа> в <Степень>;
□ sqrt() — квадратный корень;
□ pi() — возвращает число π;
□ abs() — абсолютное значение;
□ ceil() — значение, округленное до ближайшего большего целого;
□ floor() — значение, округленное до ближайшего меньшего целого;
□ max(<Список чисел через запятую>) — максимальное значение из списка;

□ min(<Список чисел через запятую>) — минимальное значение из списка;
□ mt_rand(<Начало  диапазона>, <Конец  диапазона>) —  случайное число
от <Начало диапазона> до <Конец диапазона> включительно:

echo mt_rand(10, 100);


Для  примера  создадим  генератор  паролей  произвольной  длины (листинг 14). Для этого добавляем в массив $mass все разрешенные символы, а далее в цикле получаем содержимое массива по случайному индексу. По умолчанию будет выдаваться пароль из 8 символов.

 
Листинг 14. Генератор паролей

function f_passw_generator($count_char=8) {
   $mass = array('a','b','c','d','e','f','g','h','i','j','k','l',
   'm','n','o','p','q','r','s','t','u','v','w','x','y','z',
   'A','B','C','D','E','F','G','H','I','J','K','L',
   'M','N','O','P','Q','R','S','T','U','V', 'W',
   'X','Y','Z','1','2','3','4','5','6','7','8','9','0');
   $passw = '';
   $count = count($mass)-1;
   for ($i=0; $i<$count_char; $i++) {
      $passw .= $mass[mt_rand(0, $count)];
   }
   return $passw;
}
echo f_passw_generator(10); // Выведет что-то вроде JNtX7DvSsE


□ mt_srand(<Параметр>) настраивает генератор случайных чисел на новую последовательность. В качестве параметра обычно используется функция time(), возвращающая количество секунд, прошедшее с 1 января 1970 г.:

mt_srand(time());
echo mt_rand(10, 100);


□ base_convert() позволяет преобразовать число, записанное в одной системе счисления, в другую. Имеет следующий формат:
base_convert(<Содержащая число строка>,
      <Исходная система счисления>, <Нужная система счисления>);
Например:

$var = base_convert(9, 10, 2);
echo $var; // Выведет 1001
$var = base_convert("A", 16, 10);
echo $var; // Выведет 10



□ bindec() преобразует двоичное число в десятичное:

echo bindec("1001"); // Выведет 9


□ decbin() преобразует десятичное число в двоичное:

echo decbin("9"); // Выведет 1001


□ hexdec() преобразует шестнадцатеричное число в десятичное:

echo hexdec("1b"); // Выведет 27


□ dechex() преобразует десятичное число в шестнадцатеричное:

echo dechex(27); // Выведет 1b


□ octdec() преобразует восьмеричное число в десятичное;
□ decoct() преобразует десятичное число в восьмеричное;
□ number_format()  позволяет  преобразовать  число  в  отформатированную строку. Имеет следующий синтаксис:
number_format(<Число>[, <Количество знаков после запятой>[,
              <Десятичный разделитель>, <Разделитель тысяч>]])
Пример:

$x = 1234567.126;
echo number_format($x) . '<br>'; // Выведет: "1,234,567"
echo number_format($x, 2) . '<br>'; // Выведет: "1,234,567.13"
echo number_format($x, 2, ',', ' ');
// Выведет: "1 234 567,13"

 

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити