Sam*_*Sam 37 php foreach laravel
我想检查我的foreach是否为空,因此基本的html标记不显示,内部没有结果.我正在尝试将其包装在if语句中,然后如果它是空的,则不执行任何其他循环操作.
@if ($status->replies === '')
@elseif
<div class="media-body reply-body">
@foreach ($status->replies as $reply)
<p>{{ $reply->body }}</p>
@endforeach
</div>
@endif
@if (!(empty($status->replies))
<div class="media-body reply-body">
@foreach ($status->replies as $reply)
<div class="media">
<a class="pull-left" href="{{ route('profile.index', ['username' => $reply->user->username]) }}">
<img class="media-object" alt="{{ $reply->user->getNameOrUsername() }}" src="{{ $reply->user->getAvatarUrl() }}">
</a>
<div class="media-body">
<h5 class="media-heading"><a href="{{ route('profile.index', ['username' => $reply->user->username]) }}">{{ $reply->user->getNameOrUsername() }}</a></h5>
<p>{{ $reply->body }}</p>
<ul class="list-inline list-replies">
<li>
<a href="{{ route('status.like', ['statusId' => $reply->id]) }}"><i class="fa fa-thumbs-up"></i></a>
{{ $reply->likes->count() }} {{ str_plural('like', $reply->likes->count()) }}</li>
<li>{{ $reply->created_at->diffForHumans() }}</li>
</ul>
</div>
<hr>
</div>
@endforeach
</div>
@endif
Run Code Online (Sandbox Code Playgroud)
cre*_*re8 160
查看文档以获得最佳结果:
@forelse($status->replies as $reply)
<p>{{ $reply->body }}</p>
@empty
<p>No replies</p>
@endforelse
Run Code Online (Sandbox Code Playgroud)
Kir*_*edi 33
我想你正试图检查数组是否为空.你可以这样做:
@if(!$result->isEmpty())
// $result is not empty
@else
// $result is empty
@endif
Run Code Online (Sandbox Code Playgroud)
参考 isEmpty()
iai*_*ain 11
你应该使用 empty()
@if (!empty($status->replies))
<div class="media-body reply-body">
@foreach ($status->replies as $reply)
<p>{{ $reply->body }}</p>
@endforeach
</div>
@endif
Run Code Online (Sandbox Code Playgroud)
您可以使用计数,但如果数组较大则需要更长的时间,如果您只需要知道它是否为空,则使用空是更好的。
它是一个数组,所以==== ''
不起作用(=== 意味着它必须是一个空字符串。)
使用count()来识别数组是否有任何元素(count 返回一个数字,1 或更大的将评估为真,0 = 假。)
@if (count($status->replies) > 0)
// your HTML + foreach loop
@endif
Run Code Online (Sandbox Code Playgroud)
小智 5
回显数据(如果存在)
有时您可能希望回显某个变量,但不确定该变量是否已设置。我们可以用详细的 PHP 代码来表达这一点,如下所示:
Run Code Online (Sandbox Code Playgroud){{ isset($name) ? $name : 'Default' }}
然而,Blade 为您提供了以下方便的快捷方式,而不是编写三元语句:
Run Code Online (Sandbox Code Playgroud){{ $name or 'Default' }}
在此示例中,如果 $name 变量存在,则将显示其值。但是,如果不存在,则会显示“默认”一词。
来自https://laravel.com/docs/5.4/blade#displaying-data
归档时间: |
|
查看次数: |
68773 次 |
最近记录: |