如何在 Laravel 中向集合添加新值?

laravelphpserver side programming更新于 2025/4/30 0:07:17

Laravel 中的集合是一个 API 包装器,可帮助您处理对数组执行的不同操作。它利用类 Illuminate\Support\Collection 来处理 Laravel 中的数组。

要从给定数组创建集合,您需要使用返回集合实例的 collect() 辅助方法。稍后您可以使用一系列方法,例如转换为小写、对集合实例进行排序。

示例 1

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller{ public function index() { $mynames = collect(['Andria', 'Josh', 'James', 'Miya', 'Henry']); print_r($mynames); } }

输出

当您在浏览器中测试相同内容时,您将获得以下输出 -

Illuminate\Support\Collection Object(
   [items:protected] => Array(
      [0] => Andria
      [1] => Josh
      [2] => James
      [3] => Miya
      [4] => Henry
   )
   [escapeWhenCastingToString:protected] =>
)

要添加新值,您可以对集合使用 push() 或 put() 方法。

示例 2

使用 push() 方法。

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller{ public function index() { $mynames = collect(['Andria', 'Josh', 'James', 'Miya', 'Henry']); $mynames->push('Heena'); print_r($mynames); } }

输出

上述代码的输出是 −

Illuminate\Support\Collection Object(
   [items:protected] => Array(
      [0] => Andria
      [1] => Josh
      [2] => James
      [3] => Miya
      [4] => Henry
      [5] => Heena
   )
   [escapeWhenCastingToString:protected] =>
)

示例 3

使用 put() 方法

当您拥有一个包含 key: value 对的集合时,可以使用 put() 方法

['firstname' => 'Siya', 'lastname' => 'Khan', 'address'=>'xyz']

让我们利用 put() 方法向上述集合添加一个 key: value。

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller{ public function index() { $stdDetails = collect(['firstname' => 'Siya', 'lastname' => 'Khan', 'address'=>'xyz']); $stdDetails->put('age','30'); print_r($stdDetails); } }

输出

上述代码的输出是 −

Illuminate\Support\Collection Object(
   [items:protected] => Array(
      [firstname] => Siya
      [lastname] => Khan
      [address] => xyz
      [age] => 30
   )
   [escapeWhenCastingToString:protected] =>
)

示例 4

使用带有数组值的集合进行推送。

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller{ public function index() { $myNames = collect([ ['userid'=>1, 'name'=>'Andria'], ['userid'=>2, 'name'=>'Josh'], ['userid'=>3, 'name'=>'James'] ]); $myNames->push(['userid'=>4, 'name'=>'Miya']); print_r($myNames); } }

输出

上述代码的输出是 −

Illuminate\Support\Collection Object(
   [items:protected] => Array(
      [0] => Array(
         [userid] => 1
         [name] => Andria
      )

      [1] => Array(
         [userid] => 2
         [name] => Josh
      )

      [2] => Array(
         [userid] => 3
         [name] => James
      )

      [3] => Array(
         [userid] => 4
         [name] => Miya
      )
   )
   [escapeWhenCastingToString:protected] =>
)

相关文章