如何检查数组是否为空?

时间:2018-09-28 10:42:52

标签: laravel

我有问题;这是我控制器的一部分;它显示了我想要的结果。

$angebotDetails = Angebot::where('firma',$id)->get();

但是如果有空白,那么什么也没显示,因为有空白。
现在我想如果它们为空,它应该向我显示一些文本,但我不明白。
我有一个foreach,向我展示了我所有的结果;我像这样尝试过isEmpty

@foreach($angebotDetails as $key => $angebotDetail)
  @if($angebotDetails->isEmpty)
  <h4>Wir haben momentan leider keine Angebote für Dich.</h4>
  @endif

if(empty($angebotDetails)

=== 0=== '0'= null

但是它什么也没显示给我,我不知道为什么。

如果我尝试dd($angebotDetails)会向我显示

#items: []

如果有东西显示给我

#items: array[1]

3 个答案:

答案 0 :(得分:0)

$angebotDetails是一个数组,因此您可以使用countsizeof

进行检查

@if(count($angebotDetails) === 0) //它是一个空数组 @else //它不为空 @endif

答案 1 :(得分:0)

您可以使用forelse指令

@forelse ($angebotDetails as $key => $angebotDetail)
    //
@empty
    <h4>Wir haben momentan leider keine Angebote für Dich.</h4>
@endforelse

您用来检查$angebotDetails是否为空的代码将不起作用。仅当foreach包含某些结果时,您的代码才会进入$angebotDetails循环指令,否则它将跳过foreach指令中的所有代码

答案 2 :(得分:0)

像这样在您的foreach之前检查$ angebotDetails是否为空:

@if (count($angebotDetails)) // $angebotDetails is NOT empty
    @foreach($angebotDetails as $key => $angebotDetail)
        // do something with $angebotDetail
    @endforeach
@elseif // $angebotDetails IS empty
    <h4>Wir haben momentan leider keine Angebote für Dich.</h4>
@endif