On Wed, 2007-03-14 at 07:42 -0500, Myron Turner wrote: > Robert Cummings wrote: > > On Wed, 2007-03-14 at 12:57 +0100, Tijnema ! wrote: > > > >> On 3/14/07, Myron Turner <turnermm02@xxxxxxx> wrote: > >> > >>> Richard Lynch wrote: > >>> > >>>> On Tue, March 13, 2007 6:04 pm, Jonathan Kahan wrote: > >>>> > >>>> > >>>>> This did fix the problem but I am amazed that > >>>>> > >>>>> $s%$d=0 would be interpereted as a statement assigning d to 0 since > >>>>> there is > >>>>> some other stuff in front of d... I would think that would produce an > >>>>> error > >>>>> at compile time since $s%$d is an illegal variable name. Normally when > >>>>> my > >>>>> php script errors at compile time nothing will display to the screen. > >>>>> > >>>>> > >>>> You still have not correctly puzzled out what $s % $d = 0 is doing... > >>>> > >>>> The = operator takes precedence, and $d is set to 0. > >>>> > >>>> > >>> But why? According to the manual, the modulus operator has precedence > >>> over the equals! So shouldn't this expression resolve to: > >>> ($s % $d) = 0 > >>> which gives an error? > >>> > > > > > >> Might it be that it generates only an error in specific error levels? > >> > > > > Simple proof of precedence problem: > > > > <?php > > > > $x = 6; $y = 4; > > > > echo ($x%$y=5)."\n"; > > echo ($x%$y=4)."\n"; > > > > ?> > > > > Cheers, > > Rob. > > > This illustrates what in fact happens. But I still don't understand > why, since, given the precedence of these operators, the = should be > applied after the modulus. The expression should resolve to ($x % $y) = > 5 and not to $x % ($y=5). Or shouldn't it? You must have missed the post where I said it looks like a bug :) Cheers, Rob. -- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php