Тақсимотро бо боқимонда тафтиш кардан дар PHP
Бигзор мо ду тағирёбанда бо рақамҳо дошта бошем:
<?php
$a = 10;
$b = 3;
?>
Биёед боқимондаи тақсими як тағирёбандаро ба дигаре ёбем:
<?php
$a = 10;
$b = 3;
echo $a % $b; // 1-ро хориҷ мекунад
?>
Бигзор ҳоло дар тағирёбандаҳо чунин арзишҳо нигоҳ дошта шаванд, ки як тағирёбанда ба дуввумӣ бе боқимонда тақсим мешавад:
<?php
$a = 10;
$b = 5;
echo $a % $b; // 0-ро хориҷ мекунад
?>
Биёед скриптеро нависем, ки тафтиш мекунад, ё як рақам ба дуввумӣ бе боқимонда тақсим мешавад:
<?php
$a = 10;
$b = 3;
if ($a % $b === 0) {
echo 'бе боқимонда тақсим мешавад';
} else {
echo 'бо боқимонда тақсим мешавад';
}
?>
Бигзор ҳоло талаб карда мешавад, агар рақам бо боқимонда тақсим шавад, ин боқимондаро ба экран чоп кунад:
<?php
$a = 10;
$b = 3;
if ($a % $b === 0) {
echo 'бе боқимонда тақсим мешавад';
} else {
echo 'бо боқимонда тақсим мешавад ' . $a % $b;
}
?>
Дар коди дар боло овардашуда, маълум мешавад, ки боқимонда дар ду ҷо ҳисоб карда мешавад, ва ин оптималӣ нест.
Мушкилиро ислоҳ мекунем:
<?php
$a = 10;
$b = 3;
$rest = $a % $b;
if ($rest === 0) {
echo 'бе боқимонда тақсим мешавад';
} else {
echo 'бо боқимонда тақсим мешавад ' . $rest;
}
?>
Чун маълум аст, рақамҳои ҷуфт ба 2
бе боқимонда тақсим мешаванд, ва рақамҳои тоқ - бо боқимонда. Бигзор
ба шумо рақам дода шудааст. Бо истифода аз оператори %
ва сохтори if тафтиш кунед, ки ин
рақам ҷуфт аст ё не.
Рақам дода шудааст. Тафтиш кунед, ки он ба
3 тақсим мешавад.