laravel刀片三元运算符
{{ isset($name) ? $name : 'Default' }}
我们可以写简短的表格
{{ $name or 'Default' }}
但它在实现时返回布尔值,如:
{{$videos->count() or 'no video' }} //if count return 1 always,
但这段代码
{{ $videos->count()}} // return 4
如何在刀片三元运算符中通过简短形式实现这一点
如果它> 0,你想显示计数。否则你想要显示文本。
你的count()
总是not null
(0或更高)。所以你想要做的是:
{{$videos->count() > 0 ? $vides->count() : 'no video'}}
看到使用PHP 7.1,您可以使用新的Null Coalescing Operator。所有PHP 7的新功能都可以在文档中找到:http://php.net/manual/en/migration70.new-features.php
您的代码将如下所示:
{{$videos->count() ?? 'no video' }}
文档中有关于运算符的详细说明:
对于需要将三元组与isset()结合使用的常见情况,已添加空合并运算符(??)作为语法糖。它返回第一个操作数(如果存在且不为NULL);否则返回第二个操作数。