laravel php方括号定义

时间:2013-07-24 17:21:43

标签: php laravel square-bracket

我试图了解方括号在尝试在Laravel中播种数据库时的含义。如果我有一个包含2个字段标题和正文的表格,我想知道为什么使用方括号而不是array()。方括号是用于简短形式还是用于组织?似乎方括号不仅仅用于为数据库设定种子。

public function run()
{
    $posts = [
      [ 'title' => 'My first post', 'body' => 'My post' ],
      [ 'title' => 'My second post', 'body' => 'My post' ]
    ];
    DB::table('posts')->insert($posts);
}

2 个答案:

答案 0 :(得分:2)

这与:

相同
public function run()
{
    $posts = array(
      array( 'title' => 'My first post', 'body' => 'My post' ),
      array( 'title' => 'My second post', 'body' => 'My post' )
    );
    DB::table('posts')->insert($posts);
}

这是定义数组的较新(> = PHP 5.4)简短方法。

答案 1 :(得分:1)

您所看到的是短阵列语法。它是implemented 2年前,可用于PHP版本=> 5.4。

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

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

为了兼容性,我建议使用前者。但两者在功能上都是相同的。

请参阅数组here的文档。

如果您想了解更多信息,请参阅RFC