PHP,如果在OR上使用多变量时不起作用

时间:2018-09-26 03:09:23

标签: php laravel if-statement

我有laravel刀片模板,用于显示警报。

这里是我的代码

@if($foo = Request('foo') and ($bar = Request('bar')))
    Search result for: <strong>{{ $foo }} and {{ $bar }}
@endif

在我上面的代码中

如果两个表格都填写,则可以正常工作。但是当其中之一形成空白时,它什么也没打印。

如果一个或两个都填满了它的回报,怎么做:

填写一张表格。

Search result for: Keyword

两个表格都填写。

Search result for: Keyword and category

1 个答案:

答案 0 :(得分:0)

问题是您使用and表示必须输入两个字段。尽管仅or就足够了,但这会产生一个问题,即会输出多余的字段。为了解决这个问题,您需要在输入任一个字段时使用独立输出,以输出相关字段。然后,当输入两个字段时,您都需要另一个输出。

如果您将两个字段的条件都作为主要的@if条件,那么只有设置了字段时才将其输入,因此可以将@elseif用于其他两个输出:< / p>

@if($foo = Request('foo') and ($bar = Request('bar')))
    Search result for: <strong>{{ $foo }} and {{ $bar }}
@endif

@elseif($foo = Request('foo'))
    Search result for: <strong>{{ $foo }}
@endif

@elseif($bar = Request('bar'))
    Search result for: <strong>{{ $bar }}
@endif