Laravel 如果在视图中不为空,则检查从控制器传递的变量

Laravel check variable passed from controller if not empty in view

我有一个变量从我的控制器传递到我的视图。我想在我的视图中检查变量是否为空我显示一条消息如果它不为空我显示 div.

这是我试过的方法,但它给我一个语法错误:

@if(!empty({!! $json !!}))
  <div class=""></div>
@else
  <p>Empty.</p>
@endif

我也试过了

@if(!empty($json))

也不行。我看不到 empty 消息

有人知道我做错了什么吗?

非常感谢!

您只需要:

<?php $json = json_decode($json, true) ?>

@if 之前的某个地方,因为你得到的是字符串 "[]" 而不是数组,所以你需要将 json 解析为数组。最好的地方是在控制器中进行。

您也不需要在 @if 语句中转义它:

@if(!empty($json))

你的变量是什么类型的?字符串?

尝试

@if( !empty( json_decode( $json) ) )

试试这个:

@if(count($json) > 0)
  <div class=""></div>
@else
  <p>Empty.</p>
@endif