On Mon, 2014-08-18 at 23:09 +0800, Tjerk Meesters wrote:
> > On 18 Aug, 2014, at 10:47 pm, Johannes Schlüter <johan...@schlueters.de> 
> > wrote:
> > 
> >> On Mon, 2014-08-18 at 14:44 +0200, Marc Bennewitz wrote:
> >> The question isn't "What's wrong with ===, strcmp()?" but "What's wrong 
> >> with ==, <, >?".
> >> 
> >> We have a standard way to compare two operands but currently we do some 
> >> magic things to solve something that don't need to be solved.
> > 
> > Still it is a key property of the language which we can't simply change.
> > Also mind this: All input data are strings and some databases also
> > return data as string. So code like
> > 
> >   if ($_GET['id'] > 0)
> > or
> >   if ($db->fetchRow()[0] == 12)
> > 
> > which is common will break.
> 
> Those two cases will actually not be affected, it's strictly string<=>string 
> comparisons that's being discussed here. 

Meaning that simple code you find everywhere, in every second tutorial

   foreach ($db->query("SELECT id, title FROM entries") as $row) {
       echo "<tr><td";
       if ($row[0] == $_GET['highlight_id']) {
           echo " background='#ff0000'";
       }
       echo ">".htmlentities($row[1])."</td></tr>";
   }

will suddenly fail. How wonderful! (irony)

johannes

ps. yes, the example might be done nicer and better, it still represents
a common pattern.


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to