RE: [SPAM] Re: Syntactic improvement to array

php.internals

Ford, Mike [LSS]

19 years ago
On 05 February 2007 17:29, Brian Moon wrote:
> Ford, Mike wrote: > > > I don't find: > > > > > > $a = [1 => ['pears', 'apples'], 2 => ['juice', 'oranges']]; > > > > > > any less readable than: > > > > > > $a = array(1 => array('pears', 'apples'), 2 => array('juice', > > > 'oranges')); > > > > > > Quite the opposite actually :) > > > > Me too - I go beyond Edin on this one, as I find the > array() version actually quite UNreadable and I have > difficulty picking out what the individual arrays are; > conversely, the [] version I take in at a glance. > > That is why you have coding standards. Our doucment states that this > should be written as: > > $a = array( > 1 => array('pears', 'apples'), > 2 => array('juice', 'oranges') > ); > > I believe in either syntax, proper formatting of complex data > can solve > the readablity problems.
Solve, no. Alleviate, yes. Given the above, the layout tells me there's some kind of structure going on, but I still have to actually *read* it to discover that there are arrays involved (and where they start and end). With this version: $a = [ 1 => ['pears', 'apples'], 2 => ['juice', 'oranges'] ]; I can take one glance and tell there are nested arrays involved, and what their scopes are -- I'd say my comprehension speed is at least an order of magnitude faster! *That* makes this syntax a no-brainer for me, personally ;-) Cheers! Mike --------------------------------------------------------------------- Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning & Information Services, JG125, James Graham Building, Leeds Metropolitan University, Headingley Campus, LEEDS, LS6 3QS, United Kingdom Email: m.ford@leedsmet.ac.uk Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211 To view the terms under which this email is distributed, please go to http://disclaimer.leedsmet.ac.uk/email.htm

Robert Cummings

19 years ago
On Tue, 2007-02-06 at 14:08 +0000, Ford, Mike wrote:
> On 05 February 2007 17:29, Brian Moon wrote: > > That is why you have coding standards. Our doucment states that this > > should be written as: > > > > $a = array( > > 1 => array('pears', 'apples'), > > 2 => array('juice', 'oranges') > > ); > > > > I believe in either syntax, proper formatting of complex data > > can solve > > the readablity problems. > > Solve, no. Alleviate, yes. > > Given the above, the layout tells me there's some kind of structure > going on, but I still have to actually *read* it to discover > that there are arrays involved (and where they start and end). > > With this version: > > $a = [ > 1 => ['pears', 'apples'], > 2 => ['juice', 'oranges'] > ]; > > I can take one glance and tell there are nested arrays involved, and > what their scopes are -- I'd say my comprehension speed is at least > an order of magnitude faster! > > *That* makes this syntax a no-brainer for me, personally ;-)
Ummm, you still had to read it. One "glance" just so happens to involve the brain grokking the content, just like reading. Cheers, Rob.
-- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------'

Alain Williams

19 years ago
On Tue, Feb 06, 2007 at 09:41:34AM -0500, Robert Cummings wrote:
> On Tue, 2007-02-06 at 14:08 +0000, Ford, Mike wrote: > > On 05 February 2007 17:29, Brian Moon wrote: > > > That is why you have coding standards. Our doucment states that this > > > should be written as: > > > > > > $a = array( > > > 1 => array('pears', 'apples'), > > > 2 => array('juice', 'oranges') > > > ); > > > > > > I believe in either syntax, proper formatting of complex data > > > can solve > > > the readablity problems. > > > > Solve, no. Alleviate, yes. > > > > Given the above, the layout tells me there's some kind of structure > > going on, but I still have to actually *read* it to discover > > that there are arrays involved (and where they start and end). > > > > With this version: > > > > $a = [ > > 1 => ['pears', 'apples'], > > 2 => ['juice', 'oranges'] > > ]; > > > > I can take one glance and tell there are nested arrays involved, and > > what their scopes are -- I'd say my comprehension speed is at least > > an order of magnitude faster! > > > > *That* makes this syntax a no-brainer for me, personally ;-) > > Ummm, you still had to read it. One "glance" just so happens to involve > the brain grokking the content, just like reading.
I must agree that the [] is easier/quicker to read than array(), but is it really worth it ... too many syntaxes for the same thing ? Anyway: it makes php look like perl -- and that would never do :-)
-- Alain Williams Linux Consultant - Mail systems, Web sites, Networking, Programmer, IT Lecturer. +44 (0) 787 668 0256 http://www.phcomp.co.uk/ Parliament Hill Computers Ltd. Registration Information: http://www.phcomp.co.uk/contact.php #include <std_disclaimer.h>

Christian Schneider

19 years ago
Alain Williams wrote:
> Anyway: it makes php look like perl -- and that would never do :-)
Can we please stop that FUD? (even if it is meant as a joke) ... if at all then you might say it looks like Javascript, Python or Ruby. Perl uses an ugly mix of () and [] to emulate multi-dimensional arrays rather unlike the syntax proposed here. Thanks, - Chris

Alain Williams

19 years ago
On Tue, Feb 06, 2007 at 04:16:28PM +0100, Christian Schneider wrote:
> Alain Williams wrote: > > Anyway: it makes php look like perl -- and that would never do :-) > > Can we please stop that FUD? (even if it is meant as a joke)
No: it was NOT a serious point. What is wrong with the occasional grin ?
> ... if at all then you might say it looks like Javascript, Python or > Ruby. Perl uses an ugly mix of () and [] to emulate multi-dimensional > arrays rather unlike the syntax proposed here. > > Thanks, > - Chris
-- Alain Williams Linux Consultant - Mail systems, Web sites, Networking, Programmer, IT Lecturer. +44 (0) 787 668 0256 http://www.phcomp.co.uk/ Parliament Hill Computers Ltd. Registration Information: http://www.phcomp.co.uk/contact.php #include <std_disclaimer.h>