Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #3506
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Newsgroups | comp.lang.php |
| Subject | Re: OT: and even in Dart .........Re: simple session question |
| Date | 2011-10-22 16:28 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <j7v911$6oc$1@dont-email.me> (permalink) |
| References | (11 earlier) <ld3bn8-n88.ln1@luuk.invalid.lan> <j7uov3$d1o$1@news.albasani.net> <il8bn8-po9.ln1@luuk.invalid.lan> <j7uusi$qlu$1@news.albasani.net> <j7v7r2$v78$1@dont-email.me> |
On 10/22/2011 4:08 PM, Norman Peelman wrote: > On 10/22/2011 01:34 PM, Thomas Mlynarczyk wrote: >> Luuk schrieb: >>> i did send a bug-report: >>> https://bugs.php.net/bug.php?id=60114 >> >> I do not see any bug here. I was confused because it's a crappy way to >> code, but it's clear why it works the way it does: >> >> $foo = 0; >> $foo = $foo++; >> >> is definitely identical to >> >> $foo = 0; >> $foo = ($foo++); >> >> since ++ has higher precedence than =. In fact, ($foo = $foo)++ does >> rightfully throw a parse error, since you can only increment a variable, >> not an expression. >> >> As mentioned before in this thread, the above code is equivalent to >> >> $foo = 0; >> $tmp = $foo; // $foo++ yields the previous value, which is 0 >> $foo = $foo + 1; // then $foo is incremented... >> $foo = $tmp; // ...and then re-assigned the old value >> >> It's the exact same procedure as it would be with $foo = $bar++. >> >> Greetings, >> Thomas >> > > No they are not the same. > > $foo = 0; > $foo = $foo++; > > It should be equivalent to: > > $foo = 0; // 0 > $foo = $foo; // 0 = 0 > $foo = $foo + 1; // 0 = (0 + 1) > > $foo++ means that the variable is to be incremented after the variable > is accessed. Something is clobbering that increment. > > ++$foo means that the variable is to be incremented piror to the > variable being accessed. Works as expected. > > > Haven't seen the source code but there must be some temporary variable > that's getting clobbered for the $foo++ example. > > Actually, I take my previous statement about the behavior being defined back. Officially in C/C++, the results of this operation is undefined. Precedence and associativity define the order in which operators are processed. But the order of operand processing is not defined. For $foo = $foo++; we have the same operand ($foo) being set twice. The $foo++ will return 0, and this value will be assigned into $foo. But what is NOT defined is whether the assignment will occur before or after the value of $foo is actually incremented. Either is possible. Now in the case of $foo = ($foo++); The results are different, but they are still undefined. In the first case the increment is obviously performed before the assignment (although the assignment correctly uses the pre-increment value). In the second case it looks like the assignment is still using the pre-increment value, but the increment is done after the assignment. Since the results are undefined, both are correct (or incorrect, as you may look at it), and may change with changes to the interpreter (or potentially the same version on different OS's). -- ================== Remove the "x" from my email address Jerry Stuckle JDS Computer Training Corp. jstucklex@attglobal.net ==================
Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
simple session question cerr <ron.eggler@gmail.com> - 2011-10-21 10:44 -0700
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-21 20:19 +0200
Re: simple session question Jonathan Stein <jstein@image.dk> - 2011-10-21 20:51 +0200
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-21 22:00 +0200
Re: simple session question Jerry Stuckle <jstucklex@attglobal.net> - 2011-10-21 16:14 -0400
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-22 00:50 +0200
Re: simple session question Jerry Stuckle <jstucklex@attglobal.net> - 2011-10-21 19:05 -0400
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-22 15:40 +0200
Re: simple session question Richard Damon <news.x.richarddamon@xoxy.net> - 2011-10-22 17:19 -0400
Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-22 22:56 +0100
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 00:35 +0200
Re: simple session question Tim Streater <timstreater@greenbee.net> - 2011-10-22 23:43 +0100
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 01:56 +0200
Re: simple session question Richard Damon <news.x.richarddamon@xoxy.net> - 2011-10-22 19:29 -0400
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 01:54 +0200
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 02:12 +0200
Re: simple session question Richard Damon <news.x.richarddamon@xoxy.net> - 2011-10-22 21:13 -0400
Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-23 08:44 +0100
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 17:31 +0200
Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-23 17:18 +0100
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 19:14 +0200
Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-23 18:16 +0100
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 19:00 +0200
Re: simple session question Richard Damon <news.x.richarddamon@xoxy.net> - 2011-10-23 15:28 -0400
Re: simple session question Jerry Stuckle <jstucklex@attglobal.net> - 2011-10-22 23:03 -0400
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 19:06 +0200
Re: simple session question Jerry Stuckle <jstucklex@attglobal.net> - 2011-10-23 14:35 -0400
Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-22 00:32 +0100
Re: simple session question Luuk <Luuk@invalid.lan> - 2011-10-22 12:01 +0200
Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-22 15:27 +0100
Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-22 15:37 +0100
Re: simple session question Luuk <Luuk@invalid.lan> - 2011-10-22 17:08 +0200
OT: and even in Dart .........Re: simple session question Luuk <Luuk@invalid.lan> - 2011-10-22 17:17 +0200
Re: OT: and even in Dart .........Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-22 16:54 +0100
Re: OT: and even in Dart .........Re: simple session question Luuk <Luuk@invalid.lan> - 2011-10-22 18:47 +0200
Re: OT: and even in Dart .........Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-22 19:34 +0200
Re: OT: and even in Dart .........Re: simple session question Norman Peelman <npeelmandog@cfl.rr.com> - 2011-10-22 16:08 -0400
Re: OT: and even in Dart .........Re: simple session question Jerry Stuckle <jstucklex@attglobal.net> - 2011-10-22 16:28 -0400
Re: OT: and even in Dart .........Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 01:39 +0200
Re: OT: and even in Dart .........Re: simple session question Norman Peelman <npeelmandog@cfl.rr.com> - 2011-10-22 22:40 -0400
Re: OT: and even in Dart .........Re: simple session question Jerry Stuckle <jstucklex@attglobal.net> - 2011-10-22 23:05 -0400
Re: OT: and even in Dart .........Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-22 22:52 +0100
Re: OT: and even in Dart .........Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 01:25 +0200
Re: OT: and even in Dart .........Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-23 08:41 +0100
Re: OT: and even in Dart .........Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 00:56 +0200
Re: OT: and even in Dart .........Re: simple session question Norman Peelman <npeelmandog@cfl.rr.com> - 2011-10-22 22:52 -0400
Re: OT: and even in Dart .........Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 17:12 +0200
Re: OT: and even in Dart .........Re: simple session question Tim Streater <timstreater@greenbee.net> - 2011-10-23 09:39 +0100
Re: OT: and even in Dart .........Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-23 09:40 +0100
Re: OT: and even in Dart .........Re: simple session question Tim Streater <timstreater@greenbee.net> - 2011-10-23 09:43 +0100
Re: OT: and even in Dart .........Re: simple session question "Peter H. Coffin" <hellsop@ninehells.com> - 2011-11-05 15:04 -0500
Re: OT: and even in Dart .........Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-22 22:47 +0100
Re: OT: and even in Dart .........Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 01:22 +0200
Re: OT: and even in Dart .........Re: simple session question The Natural Philosopher <tnp@invalid.invalid> - 2011-10-23 08:40 +0100
Re: OT: and even in Dart .........Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-23 17:04 +0200
Re: OT: and even in Dart .........Re: simple session question "Peter H. Coffin" <hellsop@ninehells.com> - 2011-11-05 15:00 -0500
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-22 15:39 +0200
Re: simple session question cerr <ron.eggler@gmail.com> - 2011-10-21 14:43 -0700
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-22 00:47 +0200
Re: simple session question Jerry Stuckle <jstucklex@attglobal.net> - 2011-10-21 19:06 -0400
Re: simple session question cerr <ron.eggler@gmail.com> - 2011-10-21 14:17 -0700
Re: simple session question Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2011-10-22 15:50 +0200
Re: simple session question Denis McMahon <denismfmcmahon@gmail.com> - 2011-10-23 15:47 +0000
csiph-web