Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #3524
| From | Norman Peelman <npeelmandog@cfl.rr.com> |
|---|---|
| Newsgroups | comp.lang.php |
| Subject | Re: OT: and even in Dart .........Re: simple session question |
| Date | 2011-10-22 22:40 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <j7vurf$13h$1@dont-email.me> (permalink) |
| References | (12 earlier) <j7uov3$d1o$1@news.albasani.net> <il8bn8-po9.ln1@luuk.invalid.lan> <j7uusi$qlu$1@news.albasani.net> <j7v7r2$v78$1@dont-email.me> <j7v911$6oc$1@dont-email.me> |
On 10/22/2011 04:28 PM, Jerry Stuckle wrote: > 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). > The problem seems to be that the post increment is being overwritten as if: $foo = 0; $tmp = $foo; $foo = $foo + 1; $foo = $tmp; Which I think someone else may have said. -- Norman Registered Linux user #461062 -Have you been to www.php.net yet?-
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