Re: 2 errors I can not understand

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux