RE: [PHP] == vs = should generate a warning or error -- was: Why won't this work? From: Brinkman, Theodore (Theodore.Brinkman <email protected>)
Date: 07/22/02

If you want to get a warning when you accidentally do an assignment instead
of a comparison ( = instead of == ), get in the habbit of putting the
constant/function FIRST when you're doing a comparison.

For example, using 'while(mysql_fetch_row($result) = $row)' or 'if(5 = $x)'
should give the warning you're looking for because you can't assign $row to
mysql_fetch_row, or $x to 5.

        - Theo

-----Original Message-----
From: Daevid Vincent [mailto:daevid <email protected>]
Sent: Saturday, July 20, 2002 7:34 AM
To: php-general <email protected>
Cc: 'Rasmus Lerdorf'
Subject: RE: [PHP] == vs = should generate a warning or error -- was:
Why won't this work?

> That would suck since many many PHP programs use stuff like:
>
> while($row=mysql_fetch_row($result)) { ... }
>
> There is absolutely nothing wrong with doing an assignment in
> a conditional and if it generated a warning it would drive a
> lot of people crazy.

First off, I have to LMAO at "that would suck".
So unexpected but humorus.

But seriously, this is why I suggest it be a config file option. Not a
new way of doing things, to break old code. But something toggle-able.

Or, I'm sure the PHP parser could be made smarter to look for common
'assigments' that are supposed to be 'conditions'.

For example I seriously doubt that NOBODY EVER means to do

 if ($x = 5)
 {
 }

That CLEARLY is supposed to be using a == and not =

And I'm sure there are other such obvious cases that the parser could
check for somehow.

Just a suggestion. Thass all.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php