Re: $i++ problem understanding
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.php archive

Re: $i++ problem understanding

From: Malcolm Dew-Jones <yf110@vtn1.victoria.tc.ca>
Date: Wed Oct 05 2005 - 21:37:04 CEST

Pugi! (pugi@group.thnx) wrote:
: Currently I am studying PHP.

: I can understand the following :
: $a = 10;
: $b = $a++;
: print("$a, $b");
: will print 11, 10 on the screen.
: because when $b = $a++ first thing that happens is $b = $a
: and then $a = $a + 1. I am willing to and can accept that.

: But much harder to accept is and I fail to see the logic in it,
: is the following :
: $i = 1;
: print($i++);
: This will print 1 and only afterward will the value of $i be increased
: by 1. It is between (), so logic tells me first $i++ and then print.

: Can anyone help me understand this or see the logic in it ?

The logic in it is simply that the post-increment operator ($variable++)
is supposed to work that way. That's what it is used for, incrementing
the value _after_ you use it.

If you want the variable to be incremented _before_ the value is printed
then you could use the pre-increment operator (++$variable) instead.

        $i=10;
        print ++$i;

        # the above prints 11, just like you wanted.

--
This programmer available for rent.
Received on Tue Oct 18 02:32:24 2005