Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:5293 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 48636 invoked by uid 1010); 6 Nov 2003 12:26:16 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 48612 invoked from network); 6 Nov 2003 12:26:16 -0000 Received: from unknown (HELO mrelay-a.lmu.ac.uk) (160.9.128.16) by pb1.pair.com with SMTP; 6 Nov 2003 12:26:16 -0000 Received: from lis-exchange2.lmu.ac.uk ([160.9.35.2]) by mrelay-a.lmu.ac.uk with esmtp (Exim 4.10) id 1AHjBO-0002Mf-00; Thu, 06 Nov 2003 12:24:14 +0000 Received: by lis-exchange2.lmu.ac.uk with Internet Mail Service (5.5.2653.19) id ; Thu, 6 Nov 2003 12:09:55 -0000 Message-ID: <841D90E489448A4F804E1D1B95768BF7D4626E@lis-exchange3.lmu.ac.uk> To: 'Marco Tabini' , "Ford, Mike [LSS]" Cc: internals@lists.php.net Date: Thu, 6 Nov 2003 12:09:54 -0000 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Subject: RE: [PHP-DEV] Proposal: Array syntax From: M.Ford@lmu.ac.uk ("Ford, Mike [LSS]") On 05 November 2003 17:19, Marco Tabini wrote: > Ford, Mike [LSS] wrote: > > On 05 November 2003 17:06, Marco Tabini contributed these pearls of > > wisdom: > > > > > > > Christian Schneider wrote: > > > > > > > Marco Tabini wrote: > > > > > > > > > > > > > $a = [[1,2,3],[1=>[1,3,2,2], "a"=>[[1,2,3,4],4,[1,2]]]; > > > > > > > > > > > > $a = array(array(1,2,3),array(1=>array(1,3,2,2), > > > > "a"=>array(array(1,2,3,4),4,array(1,2))); > > > > > > > > > > Besides my previous points, something even more abominable: > > > > > > $a = [1,2,$b[11]]; > > > > > > Is that confusing enough for you? ;-) > > > > > > What's confusing about it? > > > > The fact that $b[11] references an item of an array, while > [1,2,$b[11]] assigns values to the array $a. That's not confusing -- at least no more so than the different meanings of - in $b = -$a and $b = $c - $a. > The fact that you (and, > probably, most of us) can't tell right off the bat Bzzt! Wrong! It was because I *could* tell right off the bat exactly what it meant that I asked why it was confusing. > is a clear sign > that this is a bad idea, because it's ambiguous and confusing. And again, wrong assumption -- I asked what's confusing because to me it looks completely unambiguous and totally clear. > The same line using the current syntax, btw, would have looked like > this: > > $a = array (1,3,$b[11]); Well, I can see true enough that that has the same meaning, but for me it's harder to read and interpret. I see the () first and start assuming it's a function, before my eyes and brain have time to digest that the name of the "function" is array -- result: a moment's confusion whilst I deal with the ambiguity of using function syntax for a language construct. With the [] syntax, I see the square brackets and they immediately shout ARRAY CONSTRUCTOR at me -- result: instant understanding and I'm on to the next line of code in a flash. Cheers! Mike --------------------------------------------------------------------- Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning & Information Services, JG125, James Graham Building, Leeds Metropolitan University, Beckett Park, LEEDS, LS6 3QS, United Kingdom Email: m.ford@lmu.ac.uk Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211