Kontrol af rest ved division i PHP
Lad os sige, at vi har to variable med tal:
<?php
$a = 10;
$b = 3;
?>
Lad os finde resten af divisionen af den ene variabel med den anden:
<?php
$a = 10;
$b = 3;
echo $a % $b; // vil udskrive 1
?>
Lad os nu sige, at variablerne indeholder sådanne værdier, at den ene variabel kan divideres med den anden uden rest:
<?php
$a = 10;
$b = 5;
echo $a % $b; // vil udskrive 0
?>
Lad os skrive et script, der kontrollerer, om det ene tal kan divideres med det andet uden rest:
<?php
$a = 10;
$b = 3;
if ($a % $b === 0) {
echo 'divisible without remainder';
} else {
echo 'divisible with remainder';
}
?>
Lad os nu sige, at hvis tallet divideres med en rest, skal denne rest udskrives på skærmen:
<?php
$a = 10;
$b = 3;
if ($a % $b === 0) {
echo 'divisible without remainder';
} else {
echo 'divisible with remainder ' . $a % $b;
}
?>
I koden ovenfor sker det, at resten beregnes på to steder, hvilket ikke er optimalt.
Lad os rette problemet:
<?php
$a = 10;
$b = 3;
$rest = $a % $b;
if ($rest === 0) {
echo 'divisible without remainder';
} else {
echo 'divisible with remainder ' . $rest;
}
?>
Som bekendt kan lige tal divideres med 2
uden rest, mens ulige tal - med rest. Lad os sige,
at du har fået et tal. Brug operatoren %
og konstruktionen if til at kontrollere, om
dette tal er lige eller ej.
Der er givet et tal. Kontroller, at det kan divideres med
3.