0

我试图了解在 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);
}
4

2 回答 2

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) 的短方法。

于 2013-07-24T17:24:32.750 回答
1

您看到的是短数组语法。它是2 年前实现的,可用于 PHP 版本 => 5.4。

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

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

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

请参阅此处的数组文档。

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

于 2013-07-24T17:28:10.870 回答