Shorthand for arrays: is there a literal syntax like {} or []?

PhpArraysSyntax

Php Problem Overview


What is the shorthand for array notation in PHP?

I tried to use (doesn't work):

$list = {};

It will be perfect, if you give links on some information about other shorthands for PHP.

Php Solutions


Solution 1 - Php

Update:
As of PHP 5.4.0 a shortened syntax for declaring arrays has been introduced:

$list = [];

Previous Answer:

There isn't. Only $list = array(); But you can just start adding elements.

<?php
$list[] = 1;
$list['myKey'] = 2;
$list[42] = 3;

It's perfectly OK as far as PHP is concerned. You won't even get a E_NOTICE for undefined variables.

> E_NOTICE level error is issued in case > of working with uninitialized > variables, however not in the case of > appending elements to the > uninitialized array.

As for shorthand methods, there are lots scattered all over. If you want to find them just read The Manual.

Some examples, just for your amusement:

  1. $arr[] shorthand for array_push.
  2. The foreach construct
  3. echo $string1, $string2, $string3;
  4. Array concatenation with +
  5. The existence of elseif
  6. Variable embedding in strings, $name = 'Jack'; echo "Hello $name";

Solution 2 - Php

YES, it exists!!

Extracted from another Stack Overflow question:

> The shortened syntax for arrays has been rediscussed, accepted, and > is now on the way be released with PHP 5.4

Usage:

$list = [];

Reference: PHP 5.4 Short Hand for Arrays

Solution 3 - Php

It is also possible to define content inside [ ] like so:

  $array = ['vaue1', 'value2', 'key3'=>['value3', 'value4']];

This will only work in php5.4 and above.

Solution 4 - Php

Solution 5 - Php

Nope, it was proposed and rejected by the community, so for now only syntax for arrays is array().

Solution 6 - Php

You can declare your array as follows:

$myArray1 = array(num1, num2, num3);
$myArray2 = array('string1', 'string2', 'string3');
$myArray3 = array( 'stringkey1'=>'stringvalue1', 'stringkey2'=>'stringvalue2');
$myArray4 = array( 'stringkey1'=>numValue1, 'stringkey2'=>numValue2);
$myArray5 = array( numkey1=>'stringvalue1', numkey2=>'stringvalue2');
$myArray6 = array( numkey1=>numValue1, numkey2=>numValue2);

You can have as many embedded arrays as you need.

Solution 7 - Php

The only way to define an array in php is by the array() language construct. PHP doesn't have a shorthand for array literals like some other languages do.

Solution 8 - Php

I just explode strings into an array like so:

$array = explode(",","0,1,2,3,4,5,6,7,8,9,10");

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJamesView Question on Stackoverflow
Solution 1 - PhpAlin PurcaruView Answer on Stackoverflow
Solution 2 - PhpAgelessEssenceView Answer on Stackoverflow
Solution 3 - PhpDieter GribnitzView Answer on Stackoverflow
Solution 4 - PhpMatthewView Answer on Stackoverflow
Solution 5 - PhpStasMView Answer on Stackoverflow
Solution 6 - Phpuser3231257View Answer on Stackoverflow
Solution 7 - PhpDaniel VandersluisView Answer on Stackoverflow
Solution 8 - PhpDamien GoldingView Answer on Stackoverflow