PHP - Integer Division: A Beginner's Guide
Здравствуйте, будущие энтузиасты PHP! Сегодня мы окунемся в fascинирующий мир целочисленного деления в PHP. Не волнуйтесь, если вы никогда не писали ни строчки кода - я буду вашим доброжелательным проводником в этом путешествии, и к концу этого руководства вы будете делить целые числа как профи!
Что такое целочисленное деление?
Прежде чем мы перейдем к примерам, давайте поговорим о том, что такое целочисленное деление. На простом языке, целочисленное деление - это когда мы делим одно целое число на другое и получаем результат в виде целого числа. Это как резать пиццу - вы не можете получить半个 куска (ну, можете, но давайте пока держаться простоты).
В PHP мы используемforward slash /
для обычного деления и двойной forward slash //
для целочисленного деления. Оператор //
- это наш нож для пиццы в этом уроке!
Теперь, надеваем рукавицы и рассмотрим несколько примеров.
Пример 1: Основы целочисленного деления
Давайте начнем с простого примера:
<?php
$result = 10 // 3;
echo "Результат 10 // 3 равен: " . $result;
?>
Если вы запустите этот код, вы увидите:
Результат 10 // 3 равен: 3
Что здесь происходит? Ну, 10 разделить на 3 на самом деле equals 3.33333... (и так до бесконечности). Но с целочисленным делением мы интересуемся только целой частью. Так что у нас получается 3 в качестве результата.
Представьте это так: если у вас есть 10 печенек и 3 друга, сколько целых печенек получит каждый друг? Правильно, по 3 печенки, и останется 1.
Пример 2: Отрицательные числа
Теперь добавим немного остроты с отрицательными числами:
<?php
$result1 = -10 // 3;
$result2 = 10 // -3;
$result3 = -10 // -3;
echo "Результат -10 // 3 равен: " . $result1 . "<br>";
echo "Результат 10 // -3 равен: " . $result2 . "<br>";
echo "Результат -10 // -3 равен: " . $result3;
?>
Запуск этого кода даст вам:
Результат -10 // 3 равен: -3
Результат 10 // -3 равен: -3
Результат -10 // -3 равен: 3
Интересно, правда? При целочисленном делении с отрицательными числами PHP округляет к нулю. Так что -3.33333... становится -3, а не -4.
Это как если у вас есть долг в 10 долларов и вы пытаетесь разделить его между 3 друзьями. Каждый друг должен будет заплатить 3 доллара (не 4), и у вас останется долг в 1 доллар.
Пример 3: Ноль в качестве делимого
Что происходит, когда мы пытаемся разделить ноль на другое число? Давайте узнаем:
<?php
$result = 0 // 5;
echo "Результат 0 // 5 равен: " . $result;
?>
Это выведет:
Результат 0 // 5 равен: 0
Никаких сюрпризов здесь! Ноль разделенный на любое число (кроме нуля) всегда равен нулю. Это как если пытаться разделить ноль печенек между своими друзьями - каждый получит ноль печенек, сколько бы друзей у вас ни было!
Пример 4: Деление на ноль
Теперь попробуем что-то более опасное - деление на ноль:
<?php
try {
$result = 10 // 0;
echo "Результат 10 // 0 равен: " . $result;
} catch (DivisionByZeroError $e) {
echo "Ой! " . $e->getMessage();
}
?>
Если вы запустите этот код, вы увидите:
Ой! Division by zero
В математике деление на ноль неопределено. В PHP это выбрасывает ошибку DivisionByZeroError
. Это как если пытаться разделить свои печенки между нулями друзей - это просто не имеет смысла!
Всегда проверяйте на ноль перед выполнением деления, чтобы избежать таких ошибок в вашем коде.
Практическое использование целочисленного деления
Может быть, вы задаетесь вопросом: "Когда я на самом деле буду использовать целочисленное деление в реальной жизни?" Отличный вопрос! Вот несколько практических сценариев:
-
Расчет страниц для пагинации: Если у вас есть 100 элементов и вы хотите отображать 10 на странице, вы используете
100 // 10
для получения количества страниц. -
Конвертация минут в часы: Чтобы конвертировать 150 минут в часы, вы используете
150 // 60
. -
Определение високосного года: Год является високосным, если
year // 100
не имеет остатка.
Вот быстрый пример конвертации минут в часы:
<?php
$totalMinutes = 150;
$hours = $totalMinutes // 60;
$remainingMinutes = $totalMinutes % 60;
echo "$totalMinutes минут equals $hours часов и $remainingMinutes минут";
?>
Это выведет:
150 минут equals 2 часа и 30 минут
Обзор методов целочисленного деления
Вотquick reference table методов целочисленного деления, которые мы рассмотрели:
Метод | Описание | Пример |
---|---|---|
// |
Основное целочисленное деление | 10 // 3 = 3 |
// с отрицательными |
Округляет к нулю | -10 // 3 = -3 |
0 в качестве делимого |
Всегда结果是 0 | 0 // 5 = 0 |
Деление на 0 |
Выбрасывает DivisionByZeroError | 10 // 0 = Error |
Помните, практика makes perfect! Не бойтесь экспериментировать с этими conceptами в вашем собственном PHP коде. Before you know it, вы будете делить целые числа во сне (но я надеюсь, что вы спите лучше, чем это)!
Счастливого кодирования, будущие мастера PHP!
Credits: Image by storyset