Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:56580 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42472 invoked from network); 24 Nov 2011 20:13:02 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Nov 2011 20:13:02 -0000 Authentication-Results: pb1.pair.com header.from=larry@garfieldtech.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=larry@garfieldtech.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain garfieldtech.com from 66.111.4.26 cause and error) X-PHP-List-Original-Sender: larry@garfieldtech.com X-Host-Fingerprint: 66.111.4.26 out2.smtp.messagingengine.com Received: from [66.111.4.26] ([66.111.4.26:44097] helo=out2.smtp.messagingengine.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A7/D1-26290-C45AECE4 for ; Thu, 24 Nov 2011 15:13:01 -0500 Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 15FB120712 for ; Thu, 24 Nov 2011 15:12:58 -0500 (EST) Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute6.internal (MEProxy); Thu, 24 Nov 2011 15:12:58 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:date:from:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=Dy18iW0u0Sk2uBtlL7YxMk PJ0jg=; b=N7WQKuZF4lpkiJwl5tHCHwAtcnHXjPbNfisZUeBpkUr1gOO6vygSTy De7U+tALZ5YjCs29uIBzV5eYA/EtJnyPHxh5Yqb5e0derCxJqFEiiHN8dxlW1hnp BrdrcjEbVXSvrGJnLHdK4FbXgoQFL6AhifRoSNi/FKOS+9kdQSR40= X-Sasl-enc: 4z4LEznMVIcZWtYbMGDXyqP4oQ8A154J7m6r9ZVf3ms/ 1322165577 Received: from [192.168.42.6] (c-24-13-85-162.hsd1.il.comcast.net [24.13.85.162]) by mail.messagingengine.com (Postfix) with ESMTPSA id CEAE5482565 for ; Thu, 24 Nov 2011 15:12:57 -0500 (EST) Message-ID: <4ECEA547.9070605@garfieldtech.com> Date: Thu, 24 Nov 2011 14:12:55 -0600 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Thunderbird/3.1.15 MIME-Version: 1.0 To: internals@lists.php.net References: <20111123015008.GA12933@panix.com> <20111123023108.GA172@panix.com> <4ECCB549.904@lsces.co.uk> <4ECCBC56.3050602@sugarcrm.com> <20111123141408.GA11940@panix.com> <20111123153100.GB13420@panix.com> <4ECD37D9.8090604@lsces.co.uk> In-Reply-To: <4ECD37D9.8090604@lsces.co.uk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] 5.4 regression: non-existent sub-sub keys now have values From: larry@garfieldtech.com (Larry Garfield) On 11/23/2011 12:13 PM, Lester Caine wrote: > Richard Quadling wrote: >> I agree with Daniel on this. >> >> Just looking for any test relating to isset() to see what tests will >> now fail. > > So it's not just me :) > I am seeing this break real world projects and can't see a easy way to > fix the break. There is nothing really wrong with the current code > except that the sub keys have yet to be populated. This is going to be a huge problem for Drupal. Drupal uses deep associative array structures a lot, by design. That means we isset() or empty() on arrays a lot. I haven't had a chance to test it yet, but I see this change breaking, um, A LOT. And as Daniel noted, the fix is to turn one line of very readable code into 8 lines of hard to read code. This is not a step forward by any metric I can imagine. It's changing long-standing behavior for no real benefit I can see except perhaps strict adherence to a doc page. However, PHP has always been an "implementation is the standard" language, which means this is a language API change. Please roll it back to avoid breaking a crapton of existing, legitimate, non-buggy code. --Larry Garfield