Laravel 5.1刀片,将var与许多值进行比较

时间:2019-05-02 14:33:52

标签: laravel laravel-blade

我想比较具有多个值的var,如下所示:

{{(
    ((Request::segment(1) == 'A' || Request::segment(1) == 'B' || Request::segment(1) == 'ETC' || ... ) && $menu->link == 'XXX') ? 'visible' : ''
)}}

有没有办法像这样进行比较?

{{(
    ((Request::segment(1) == my_values(A,B,C,E,...,ETC) && $menu->link == 'XXX') ? 'visible' : ''
)}}

我无法从Controller中编辑值

3 个答案:

答案 0 :(得分:1)

您可以使用laravel集合的contains()功能。

{{(
    ((collect(my_values(A,B,C,E,...,ETC))->contains(Request::segment(1)) && $menu->link == 'XXX') ? 'visible' : ''
)}}

答案 1 :(得分:1)

按照here的说明使用PHP in_array怎么办?

{{(
   ((in_array(Request::segment(1), ['A','B','C','E',...,'ETC']) && $menu->link == 'XXX') ? 'visible' : ''
)}}

答案 2 :(得分:1)

或者您可以在PHP中使用in_array方法。

{{( ((in_array(Request::segment(1), ['A', 'B', 'C', 'ETC']) && $menu->link == 'XXX') ? 'visible' : '' )) }}