Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:76658 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 68162 invoked from network); 18 Aug 2014 14:48:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Aug 2014 14:48:31 -0000 Authentication-Results: pb1.pair.com smtp.mail=johannes@schlueters.de; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=johannes@schlueters.de; sender-id=unknown Received-SPF: error (pb1.pair.com: domain schlueters.de from 217.114.215.10 cause and error) X-PHP-List-Original-Sender: johannes@schlueters.de X-Host-Fingerprint: 217.114.215.10 mail.experimentalworks.net Received: from [217.114.215.10] ([217.114.215.10:34978] helo=mail.experimentalworks.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AA/22-54989-E3212F35 for ; Mon, 18 Aug 2014 10:48:30 -0400 Received: by mail.experimentalworks.net (Postfix, from userid 1003) id 6CF6C41B3C; Mon, 18 Aug 2014 16:48:36 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on km31408.keymachine.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=ALL_TRUSTED autolearn=unavailable version=3.3.2 X-Spam-HAM-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP Received: from [192.168.2.31] (ppp-93-104-0-106.dynamic.mnet-online.de [93.104.0.106]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: johannes@schlueters.de) by mail.experimentalworks.net (Postfix) with ESMTPSA id 9A4D541B38; Mon, 18 Aug 2014 16:48:33 +0200 (CEST) To: Marc Bennewitz Cc: Sara Golemon , PHP internals In-Reply-To: <53F1F534.50109@mabe.berlin> References: <53F1094B.4040100@mabe.berlin> <53F1F534.50109@mabe.berlin> Content-Type: text/plain; charset="UTF-8" Date: Mon, 18 Aug 2014 16:47:24 +0200 Message-ID: <1408373244.2617.344.camel@guybrush> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Binary String Comparison From: johannes@schlueters.de (Johannes =?ISO-8859-1?Q?Schl=FCter?=) 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. Maybe using different sets of operators would have been better, but that should have happened 20 years ago not now. Also mind consistency: If you change this you probably also have to change other places where implicit conversion happens, i.e. array keys. In the end you get a complete new incompatible language and can throw away most libraries and so on. So in case you have a Tardis, DeLorean with Flux Capacitor or any other time machine I'm happy to support you in the past, but not this late. johannes