Анонсы:
|
PHP. Урок 5 Работа с числамиУрок 5. Работа с числамиВ этом уроке вы узнаете, какие операции с числами можно выполнять в PHP. АрифметикаВ PHP есть все базовые арифметические операции. Тому, кто раньше не программировал, некоторые обозначения могут быть не понятны, поэтому сделаем быстрый обзор основных арифметических правил в PHP. Арифметические операцииОперация суммирования выполняется с помощью символа плюс (+). В этом примере вычисляется сумма 6 и 12, а результат выводится на экран: Операция вычитания выполняется с помощью знака минус (-). Иногда он используется как дефис. В следующем примере из 24 вычитается 5: В некоторых случаях знак минус используется для того, чтобы сделать число отрицательным (например, -20). Чтобы перемножить два числа, используется символ звездочка (*). В следующем примере перемножаются 4 и 9: Деление выполняется с помощью косой черты (/). В примере ниже 48 делится на 12: Деление. Если два целых числа делятся без остатка, на выходе получим целое. Иначе будет double. Дробный результат не округляется до целого. Чтобы найти остаток от деления, используется символ процента (%). В примере ниже на выходе получим 3 — остаток от деления 21 на 6: Остаток от деления. Оператор остатка от деления можно использовать для того, чтобы определить четность числа с помощью операции $number % 2. Ноль (0) получим для всех четных и единицу для всех нечетных (потому что любое нечетное число пр делении на 2 дает остаток 1). Операторы инкремента и декрементаЧтобы увеличить или уменьшить число на единицу, нужно использовать, соответственно, оператор инкремента — два плюса (++) или оператор декремента — два минуса (–). В следующем примере оба выражения прибавляют единицу к переменной $number: Положение оператора определяет момент, когда будет производиться увеличение на единицу. В выражении ниже единица вычитается из $countdown до вывода результата на экран: В следующем примере, наоборот, вывод на экран опережает операцию декремента: Операторы инкремента и декремента часто используются в циклах. Следующий пример — типичный случай цикла for, где используется счетчик для того, чтобы выполнить тело цикла десять раз: В данном случае при каждом повторении цикла выводится содержимое переменной $count. Комбинированные операторыКомбинированные операторы позволяют сократить код, когда арифметическая операция выполняется над существующей переменной. В следующем примере используется комбинированное суммирование для того, чтобы увеличить на шесть значение переменной $count: Эта операция заменяет такую последовательность: взять начальное значение переменной $count, прибавить к нему шесть, и результат присвоить $count. Поэтому комбинированный оператор эквивалентен следующему коду: Все основные арифметические операции имеют соответствующие комбинированные операторы и перечислены в табл. 5.1. Таблица 5.1. Комбинированные операторы
Приоритет операторовПравила приоритетности операторов определяют порядок вычислений. Вот пример неоднозначного выражение: Непонятно, то ли 3 умножается на 4 и потом к результату прибавляется 5, что дает 17; то ли суммируются 4 и 5, а потом результат умножается на 3, что дает 27. Если запустить сценарий, в результате получим 17. Это произошло из-за того, что умножение имеет больший приоритет, чем суммирование. Поэтому, когда эти операторы встречаются в одном выражении, умножение выполняется первым, при этом используются значения, которые непосредственно стоят вокруг оператора умножения. Если нужно выполнить суммирование раньше, можно использовать круглые скобки: В этом случае получим 27. Порядок выполнения арифметических операций отвечает порядку, известному со школьной скамьи: скобки, экспонента, умножение/деление и суммирование/вычитание. Числовые типы данныхВыше было показано, что PHP устанавливает тип данных каждому значению. Поэтому для чисел тип данных будет целый или с плавающей точкой. Чтобы узнать, какой тип установлен для числа, можно использовать функцию is_float или is_int. Аналогично, функция is_numeric позволяет узнать, является ли значение произвольным числом. В следующем примере проверяется, принадлежит ли значение переменной $number к целому числу: При инициализации переменной справа стоит строка. Поэтому несмотря на то, что она содержит номер, условие будет ложным. Хотя и переменная $number в предыдущем примере — строка, PHP достаточно гибок, чтобы использовать это значение в числовых операциях. В следующем примере показано, как инкрементируется строка, содержащая число, и в результате получается целое: Что такое NULL?Значение NULL — это тип данных и одновременно значение, которое указывает на отсутствия значения. Оно не имеет числового значения, но в операциях сравнения соответствует нулю: Сравнение типов. Чтобы убедиться в том, что оба значения и их типа совпадают, нужно использовать оператор сравнения тройное равенство (===). Функции для работы с числамиРассмотрим функции для работы с числами в PHP. Округление чиселВ PHP есть три функции для того, чтобы округлить десятичное число до целого. Функция ceil или floor округляют число, соответственно, вверх или вниз до ближайшего целого. Например, ceil(1.3) возвращает 2, а flor(6.8) возвращает 6. Округление отрицательных чисел. Нужно помнить, как округляются отрицательные числа. В результате операции floor(-1.1) получим -2 как следующее меньшее целое число, а не -1. Аналогично, в результате ceil(-2.5) получим -2. Чтобы округлить до ближайшего целого, используется функция round. Дробная часть меньше 0.5 округляется вниз, а 0.5 и выше округляется вверх. Например, round(1.3) возвращает 1, round(1.5) возвращает 2. Функции round можно передать необязательный параметр точности. В примере ниже значение округляется до двух цифр после запятой: На выходе получим 0.54. Из-за третьей после точки цифры 5 округление дает большее число, чем изначальное. Кроме того, функция round с отрицательной точностью округляет целое до определенной цифры, как в примере ниже: СравнениеЧтобы найти наименьшее или наибольшее число из группы элементов, используются функции min и max, соответственно. На вход функциям нужно передать два или больше аргументов, а на выходе будет соответственно, наименьшее или наибольшее число в списке. Выражение ниже выводит большую из переменных $a и $b: Нет ограничения на количество сравниваемых значений. В примере ниже из большого списка значений выбирается минимальное: На выходе получим 3. Случайные числаФункция rand используется для генерации случайного числа с помощью встроенного генератора случайных чисел. На вход функции rand можно передать два необязательных аргумента, которые задают диапазон, в котором нужно генерировать случайные числа. Генерация случайного. Константа RAND_MAX содержит значение наибольшего случайного числа, которое можно сгенерировать с помощью используемой системы. Это значение может отличаться для различных платформ. В следующем выражении генерируется случайное число от одного до десяти и выводится на экран: Можно вставить строку в сценарий и запускать его несколько раз. Тогда значение на экране изменяется каждый раз при запуске. На самом деле не существует случайных чисел, сгенерированных с помощью компьютера. На практике числа выбираются из очень длинной последовательности, которая имитирует случайную. Чтобы в этой последовательности всегда начинать со случайной позиции, нужно сбросить генератор случайных чисел с помощью функции srand, которая не требует никаких аргументов. Алгоритмы случайных чисел. В PHP есть другой генератор случайных чисел — Марсена-Твистера (Mersenne-Twister), который генерирует более качественную последовательность случайных чисел, чем rand. Этот алгоритм реализован в функциях mt_rand и mt_srand. Математические функцииВ PHP есть много математических функций. Это и тригонометрия, и логарифмы, и перевод числа из одной системы счисления в другую. Обычно такие функции не применяются для написания Web-сценариев. Поэтому они не будут здесь рассматриваться. РезюмеВ этом уроке вы узнали о том, как работать с числами. В слдующем уроке вы узнаете все о работе со строками в PHP. |
Погода в Рудне на 11 Сен 2024 г. 704 - Вьетнамских донгов - 1 |