如何檢查 Laravel 集合是否為空?
在我們回答上述問題之前,讓我們首先了解**Laravel 中的集合是什麼**。Laravel 中的集合是一個 API 包裝器,可幫助您處理對陣列執行的不同操作。它使用類 Illuminate\Support\Collection來處理 Laravel 中的陣列。
要從給定陣列建立集合,您需要使用collect()輔助方法,該方法返回集合例項。稍後,您可以對集合例項使用一系列方法,例如轉換為小寫和排序。
示例
本節中的示例演示瞭如何從給定陣列建立集合。在繼續操作之前,請確保您已建立了自己的控制器,如果沒有,請使用 artisan make 命令建立一個控制器,如下所示:
php artisan make:controller UserController
這將在“Http/Controllers”路徑中建立一個控制器。複製以下程式碼並將其貼上到建立的控制器中。
UserController.php
<?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); } }
Web.php
我們需要建立一個/註冊一個路由來呼叫“resources/routes/web.php”檔案中的index()函式,如下所示:
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\UserController; Route::get('/', function () { return view('welcome'); }); Route::get('getData', [UserController::class,'index' ] );
建立這兩個檔案後,執行伺服器,如下所示:
php artisan serve
輸出
如果您透過向 URL http://127.0.0.1:8000/getData 傳送請求來測試上述程式,它將生成以下輸出
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => Andria
[1] => Josh
[2] => James
[3] => Miya
[4] => Henry
)
[escapeWhenCastingToString:protected] =>
)
有多種方法可以檢視集合是否為空。它們是:
使用 isEmpty() 方法
isEmpty()方法返回 true/false。如果集合為空,則為 true;如果不為空,則為 false。以下是此方法的語法:
isEmpty()
示例
以下示例使用isEmpty()方法驗證給定集合是否為空:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller { public function index() { $mynames = collect([]); if ($mynames->isEmpty()) { return "Collection is Empty"; } else { return "Collection is Not Empty"; } } }
將UserController.php的內容替換為上述程式碼,清除路由快取,如下所示:
php artisan route:clear
輸出
如果您透過向 URL http://127.0.0.1:8000/getData 傳送請求來測試上述程式,它將生成以下輸出:
Collection is Empty
使用 isNotEmpty() 方法
如果被測試的集合不為空,則isNotEmpty()方法返回 true;如果為空,則返回 false。以下是此方法的語法:
isNotEmpty()
示例
以下示例使用isNotEmpty()方法驗證給定集合是否為空:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller { public function index() { $mynames = collect([]); if (!$mynames->isNotEmpty()) { return "Collection is Empty"; } else { return "Collection is Not Empty"; } } }
輸出
Collection is Empty
使用 count() 方法
count()方法返回集合中專案的數量。以下是它的語法:
count()
示例
以下示例使用count()方法驗證給定集合是否為空:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller { public function index() { $mynames = collect([]); if ($mynames->count() === 0) { return "Collection is Empty"; } else { return "Collection is Not Empty"; } } }
輸出
Collection is Empty
使用 first() 方法
first()方法返回集合中的第一個元素。
first()
示例
您可以使用 first() 來了解集合是否為空,如下面的示例所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller { public function index() { $mynames = collect([]); if (!$mynames->first()) { return "Collection is Empty"; } else { return "Collection is Not Empty"; } } }
輸出
Collection is Empty
使用 count() 方法
count()方法返回給定集合中專案的數量。以下是此方法的語法
count($collection)
示例
您可以使用此方法檢查集合是否為空,如下所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Collection; class UserController extends Controller { public function index() { $mynames = collect([]); if (count($mynames) === 0) { return "Collection is Empty"; } else { return "Collection is Not Empty"; } } }
輸出
Collection is Empty
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP