Έλεγχος υπολοίπου διαίρεσης σε PHP
Ας υποθέσουμε ότι έχουμε δύο μεταβλητές με αριθμούς:
<?php
$a = 10;
$b = 3;
?>
Ας βρούμε το υπόλοιπο της διαίρεσης μιας μεταβλητής με την άλλη:
<?php
$a = 10;
$b = 3;
echo $a % $b; // θα εμφανίσει 1
?>
Ας υποθέσουμε τώρα ότι οι μεταβλητές περιέχουν τιμές τέτοιες που η μια μεταβλητή διαιρείται με την δεύτερη ακριβώς:
<?php
$a = 10;
$b = 5;
echo $a % $b; // θα εμφανίσει 0
?>
Ας γράψουμε ένα script που θα ελέγχει αν ένας αριθμός διαιρείται ακριβώς με τον δεύτερο:
<?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.