Проверка числа на четность и нечетность. Введение
В работе, я уже неоднократно сталкивался с необходимостью проверки числа на четность и нечетность, но почему-то не придавал этому особого значения, поэтому не затрагивал данную тему ранее. Но мне уже несколько раз присылали вопросы и просили помочь с задачами, в которых проверка четности числа может помочь в реализации. Поэтому я решил описать проблему и решение в статье.
Рассмотрим самую распространенную задачу, в которой проверка четности числа может все расставить на свои места. Допустим, у нас имеется массив данных, в котором хранится имена и фамилии людей. Необходимо вывести эти данные таким образом, чтобы каждое имя и фамилия начинались с новой строки и каждая вторая строка имела отступ 20 пикселей.
Решение задачи:
Необходимо при выводе каждого элемента массива считать номер элемента, если он четный, то есть 2, 4, 6 и тд, то будем делать отступы.
Проверка числа на четность и нечетность. Код
// массив данных
$array_users = array(
"Иван Иванов",
"Иван Петров",
"Петр Иванов",
"Петр Петров",
"Сидор Иванов",
"Сидор Петров"
);
// вывод данных
$num = 1;
foreach($array_users as $value){
// проверяем четность
if(($num % 2) == 0){
// если четное, то делаем отступ
echo "<span style='padding-left: 20px;'>$value</span><br/>";
}else{
// если не четное, то просто выводим
echo "<span>$value</span><br/>";
}
$num ++;
}
Задача решена.
Вся суть сводится к тому, что необходимо проверить остаток от деления числа на два. если остаток равен нулю, значит число четное.
$a = 5;
if(($a % 2) == 0){
echo "Число четное";
}else{
echo "Число не четное";
}
С помощью такого же кода, можно добавлять стили для каждого третьего, каждого четвертого и тд элемента, только уже сравнивать остаток после деления на 2, 3, 4 и тд.

(16 оценок, среднее: 4,25 из 5)
if(($a % 2) == 0)
Я так понимаю, что если будет возвращаться ноль, то в IF это будет считаться FALSE, а значит код ещё короче можно сделать.
Есть способ гораздо эффективнее. У нечётных чисел самый младший бит = 1, у чётных — 0.
function IsOdd($_iNumber)
// Проверяет число на нечётность.
{
return $_iNumber & 1;
}
function IsEven($_iNumber)
// Проверяет число на чётность.
{
return !($_iNumber & 1);
}