PHP, если еще не работает при использовании нескольких переменных с ИЛИ - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть шаблон лезвия laravel, который использует if else для отображения предупреждения.

здесь мой код

@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 голосов
/ 26 сентября 2018

Проблема в том, что вы используете and для обозначения того, что оба поля должны быть введены.В то время как достаточно or, может возникнуть проблема с выводом дополнительного поля.Чтобы исправить это, вам понадобятся независимые выходные данные, когда в поле либо введено соответствующее поле.Тогда вам понадобится еще один вывод, когда оба поля введены.

Если у вас есть условие для обоих полей в качестве основного @if, оно не будет введено, когдаустановлено только поле, поэтому вы можете использовать @elseif для двух других выходов:

@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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...