Laravel 使用Blade检查数组是否为空
在这个部分,我们将学习如何在Blade中检查数组是否为空。我们将使用Laravel Blade来完成此操作。我们可以在Laravel的不同版本(如Laravel 6、7和8)的应用程序中进行此操作。
在下面的示例中,我们将看到在Blade中检查数组是否为空的不同函数。有时空数组会导致意外的输出或软件崩溃。如果我们想避免这种情况,我们必须事先检查Blade中给定或定义的数组是否为空。为了检查Blade中的数组是否为空,Laravel提供了各种函数,我们将在下面的示例中使用它们。
示例1:
在下面的示例中,我们将使用 @forelse 和 @empty 来检查Laravel中的数组。我们可以使用foreach循环轻松迭代我们的集合元素。但在我们的示例中,我们将使用forelse模板而不是在if语句内使用foreach循环。当我们使用foreach或forelse执行程序时,它们都会生成相同的结果,但我们可以更容易地阅读forelse循环,并且它所包含的代码量较foreach循环少。
控制器代码:
public function index()
{
$products = Product::get();
return view('home',compact('products'));
}
剑之代码:
<div class="card-header">
<h5> Laravel - Check emptiness of an Array in Blade </h5>
</div>
<div class="card-body">
@forelse (products asproduct)
<p class="bg-danger text-white p-1">product</p>
@empty
<p class="bg-danger text-white p-1">no product</p>
@endforelse
</div>
示例2:
在下面的示例中,我们将使用 @empty 来检查Laravel中的数组。当我们使用空集合时,它将需要额外的if语句。这是必要的,因为我们需要向用户提供有效的消息。
控制器代码:
public function index()
{
$products = [];
return view('home',compact('products'));
}
Blade 代码:
<div class="card-header">
<h5> Laravel - Check emptiness of an Array in Blade </h5>
</div>
<div class="card-body">
@empty($products)
<p class="bg-danger text-white p-1">product</p>
@else
<p class="bg-danger text-white p-1">no product</p>
@endempty
</div>
例子3:
在下面的例子中,我们将使用 @if empty() 来检查Laravel中的数组。
控制器代码:
public function index()
{
$products = [];
return view('home',compact('products'));
}
Blade代码:
<div class="card-header">
<h5> Laravel - Check emptiness of an Array in Blade </h5>
</div>
<div class="card-body">
@if(empty($products))
<p class="bg-danger text-white p-1">product</p>
@else
<p class="bg-danger text-white p-1">no product</p>
@endif
</div>
示例4:
在下面的示例中,我们将使用 @if count() 来检查Laravel中的数组。
控制器代码:
public function index()
{
$products = Product::get();;
return view('home',compact('products'));
}
Blade代码:
<div class="card-header">
<h5> Laravel - Check emptiness of an Array in Blade </h5>
</div>
<div class="card-body">
@if($products->count() > 0)
<p class="bg-danger text-white p-1">product</p>
@else
<p class="bg-danger text-white p-1">no product</p>
@endif
</div>
现在我们的上面的代码准备好运行了。当我们运行它时,会生成以下输出: