$ myArray = array()vs. []

时间:2015-07-13 09:40:41

标签: php

我发现这个“现代”版本在laravel 5的源代码中定义了一个数组。这样做有什么好处吗?

// the traditional way
$arrEmpty = array();
$arrFilled = array(
    'a' => 'apple'
);

// the 'modern' way
$arrEmpty = [];
$arrFilled = [
    'a' => 'apple'
];

'new'方式似乎不是标准的,所以我不能在PHP 5.3上使用这个。欢迎使用任何文档链接。

2 个答案:

答案 0 :(得分:2)

从PHP 5.4开始,您还可以使用短数组语法,它将array()替换为[]。 http://php.net/

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// as of PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

答案 1 :(得分:-1)

PHP 5.4支持以下[]

方括号数组快捷键 - 键和值以冒号分隔:

$a = [1, 2, 3];
$b = ['foo': 'orange', 'bar': 'apple', 'baz': 'lemon'];

方括号数组快捷键 - 键和值由双箭头分隔:

$a = [1, 2, 3];
$b = ['foo' => 'orange', 'bar' => 'apple', 'baz' => 'lemon'];

这只是一个简短的语法,在PHP&lt; 5.4它不起作用。