phparrayssyntaxsquare-bracket

PHP Difference between array() and []


I'm writing a PHP app and I want to make sure it will work with no errors.

The original code:

<?php
$data = array('name' => 'test',
              'id'   => 'theID');

echo form_input($data);
?>

Would the following work with no errors or is not recommended for some reason?

<?= form_input(['name' => 'test', 'id' => 'theID']); ?>

Are there any difference?

I've looked again the data about array() and the short array method with square brackets [] in PHP.net but I'm not sure.

And also, is the short php tag <?= ?> fine for echoing? Is there any version issue? (provided is enabled in php.ini)


Solution

  • Following [] is supported in PHP >= 5.4:

    ['name' => 'test', 'id' => 'theID']
    

    This is a short syntax only and in PHP < 5.4 it won't work.