Τελεστές Αύξησης/Μειώσης
Η PHP υποστηρίζει τελεστές πρό- και μετά- αύξησης όπως η C.
Παράδειγμα | Όνομα | Αποτέλεσμα |
---|---|---|
++$a | Προ-αύξηση | Αυξάνει το $a κατά ένα και επιστρέφει το $a. |
$a++ | Μετά-αύξηση | Επιστρέφει το $a, και μετά αυξάνει το $a κατά ένα. |
--$a | Προ-μείωση | Μειώνει το $a κατά ένα, και μετά επιστρέφει το $a. |
$a-- | Μετά-μείωση | Επιστρέφει το $a, και μετά μειώνει το $a κατά ένα. |
Εδώ έχουμε ένα απλό παράδειγμα κώδικα:
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Preincrement</h3>";
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Postdecrement</h3>";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
echo "<h3>Predecrement</h3>";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
Η PHP ακολουθεί τις συνθήκες της Perl όταν διαχειρίζεται αριθμητικές πράξεις σε μεταβλητές χαρακτήρων και όχι αυτές τις C. Για παράδειγμα, στην Perl το 'Z'+1 επιστρέφει 'AA', ενώ στη C το 'Z'+1 επιστρέφει '[' ( ord('Z') == 90, ord('[') == 91 ). Σημειώστε ότι οι μεταβλητές χαρακτήρων μπορούν να αυξηθούν αλλά όχι να μειωθούν.
Example#1 Αριθμητικές Πράξεις σε Μεταβλητές Χαρακτήρων
<?php
$i = 'W';
for($n=0; $n<6; $n++)
echo ++$i . "\n";
/*
Produces the output similar to the following:
X
Y
Z
AA
AB
AC
*/
?>