php推送维数组

时间:2016-11-18 02:37:35

标签: php laravel

我需要使DB看起来像这样:

DB::table('users')->insert([
    ['email' => 'mailone@example.com', 'votes' => 0],
    ['email' => 'mailtwo@example.com', 'votes' => 0]
]);

但我尝试使用动态值构建数据,例如在循环中添加更多次:

array_push($a,'email' => $this->mail,'votes' => $this->votes);

这样我以后可以简单地运行它:

DB::table('users')->insert($myData);

那我怎样才能推出一个维数组呢?

5 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题。你可以做到这一点,你可以将数组推送到原始数组,这样就可以创建一个多元数组。

.always()

答案 1 :(得分:0)

您可以执行以下操作:

    $array = [];

    $dataComingFromSomewhere = [];   // Assuming this is your data source

    for($index = 0; $index < count($dataComingFromSomewhere); $index++)
    {
       $newUserArray = ['email' => $dataComingFromSomewhere[$index]->email, 'votes' => $dataComingFromSomewhere[$index]->votes];
       array_push($array, $newUserArray);
    }

    DB::table('users')->insert($array);

答案 2 :(得分:0)

就是这个,

$myData[]= array('email' => $this->mail,'votes' => $this->votes);
DB::table('users')->insert($myData);

答案 3 :(得分:0)

x*b^p使用不当。推送单个关联元素就像:

array_push()

或者这样做:

$a['email'] = $this->mail; $a['votes'] = $this->votes;

答案 4 :(得分:0)

首先将$a初始化为空数组$a = array()

然后更改行

array_push($a,'email' => $this->mail,'votes' => $this->votes);

array_push($a,array('email' => $this->mail,'votes' => $this->votes));

你可以做到,

DB::table('users')->create($a);