如何在 Laravel 中向集合新增新值?
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() 方法
當你的集合具有 **鍵:值** 對時,使用 **put()** 方法。
['firstname' => 'Siya', 'lastname' => 'Khan', 'address'=>'xyz']
讓我們使用 put() 方法向上述集合新增另一個鍵:值。
<?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
在具有陣列值的集合上使用 push。
<?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] =>
)
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP