如何检查 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