Live data from Hacker News

Short array syntax finally in PHP 5.4

svn.php.net

1–10 of 80 posts

Re: Short array syntax finally in PHP 5.4

#2
That's great news, finally we can do

  $a = [1, 2, 3];
and it also will make function calls with named parameters much more readable.

Sadly, it will be years before the majority of hosting providers adopt 5.4...

Re: Short array syntax finally in PHP 5.4

#3
post #2

That's great news, finally we can do $a = [1, 2, 3]; and it also will make function calls with named parameters much more readable. Sadly, it will be years before the majority of hosting providers adopt 5.4...

Also arrays of arrays have a much more compact syntax:

  $a = [1 => [4, 5, 6], 2 => [7, 8, 9], 3 => [10, 11, 12]];

  $a = array(1 => array(4, 5, 6), 2 => array(7, 8, 9), 3 => array(10, 11, 12));

Re: Short array syntax finally in PHP 5.4

#4
post #3
post #2

That's great news, finally we can do $a = [1, 2, 3]; and it also will make function calls with named parameters much more readable. Sadly, it will be years before the majority of hosting providers adopt 5.4...

Also arrays of arrays have a much more compact syntax: $a = [1 => [4, 5, 6], 2 => [7, 8, 9], 3 => [10, 11, 12]]; $a = array(1 => array(4, 5, 6), 2 => array(7, 8, 9), 3 => array(10, 11, 12));

Uh, why wouldn't

  [[4, 5, 6], [7, 8, 9], [10, 11, 12]]
work?

I know PHP has a weird history of rebelling against its C-family-syntax heritage, but requiring the syntax in your example would seem specifically calculated just to make developers' lives harder.

Re: Short array syntax finally in PHP 5.4

#5
post #4
post #3

Earlier quoted context omitted.

Also arrays of arrays have a much more compact syntax: $a = [1 => [4, 5, 6], 2 => [7, 8, 9], 3 => [10, 11, 12]]; $a = array(1 => array(4, 5, 6), 2 => array(7, 8, 9), 3 => array(10, 11, 12));

Uh, why wouldn't [[4, 5, 6], [7, 8, 9], [10, 11, 12]] work? I know PHP has a weird history of rebelling against its C-family-syntax heritage, but requiring the syntax in your example would seem specifically calculated just to make developers' lives harder.

I think it might? http://svn.php.net/viewvc/php/php-src/branches/PHP_5_4/tests...

Re: Short array syntax finally in PHP 5.4

#6
post #4
post #3

Earlier quoted context omitted.

Also arrays of arrays have a much more compact syntax: $a = [1 => [4, 5, 6], 2 => [7, 8, 9], 3 => [10, 11, 12]]; $a = array(1 => array(4, 5, 6), 2 => array(7, 8, 9), 3 => array(10, 11, 12));

Uh, why wouldn't [[4, 5, 6], [7, 8, 9], [10, 11, 12]] work? I know PHP has a weird history of rebelling against its C-family-syntax heritage, but requiring the syntax in your example would seem specifically calculated just to make developers' lives harder.

Well, arrays start with index 0, so if the indexes where 1 less it would be the same. Your example would be equivalent to

  [0 => [4, 5, 6], 1 => [7, 8, 9], 2 => [10, 11, 12]]

Re: Short array syntax finally in PHP 5.4

#8
post #4
post #3

Earlier quoted context omitted.

Also arrays of arrays have a much more compact syntax: $a = [1 => [4, 5, 6], 2 => [7, 8, 9], 3 => [10, 11, 12]]; $a = array(1 => array(4, 5, 6), 2 => array(7, 8, 9), 3 => array(10, 11, 12));

Uh, why wouldn't [[4, 5, 6], [7, 8, 9], [10, 11, 12]] work? I know PHP has a weird history of rebelling against its C-family-syntax heritage, but requiring the syntax in your example would seem specifically calculated just to make developers' lives harder.

Your example would work, but there's a reason you might want different keys. My company's current web app is written in CakePHP, which has a love for arrays. Some of my queries look like this:

  $booking = $this->Booking->find('first', array('conditions' => array('Booking.booking_id' => $id), 'contain' => array('Review', 'Desk' => array('fields' =>
 array('provider_id', 'category_id'), 'Provider' => array('city', 'name'), 'ProviderCategory' => array('fields'   => array('provider_id', 'category_id'), 'DeskCategory' => 'name')))));
It's essentially not readable, but with [] it would work much better, and I still want to give keys to arrays.

Re: Short array syntax finally in PHP 5.4

#10
post #7

Now if only when a function returns an array we needn't a variable... function boo(){ return array(1,2,3) } echo boo()[1];

http://svn.php.net/viewvc?view=revision&revision=300266

http://www.php.net/archive/2011.php#id2011-06-28-1

It's in PHP 5.4 alpha as well ;)

Post reply on HN