Forum und email

Τελεστές Αύξησης/Μειώσης

Η 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

*/
?>