Убедитесь, что в URL указан только указанный параметр c - PullRequest
0 голосов
/ 26 февраля 2020

Я хочу отобразить некоторый контент на основе параметра в URL.

Например: у меня есть фильтр с именем color .

URL выглядит следующим образом :

/? Filter_color = black

Теперь я могу добавить контент для черного цвета.

Но теперь я У меня проблема с несколькими активными фильтрами.

В данный момент я также показываю содержимое для черного, если URL выглядит следующим образом:

/? filter_color = black , white

Но если активно несколько фильтров, я не хочу показывать контент.

Вот мой текущий код:

if ( (isset($filter_color) == 'black') ) :

    echo 'content for black';

endif;

Можно ли спросить, является ли это ТОЛЬКО фильтром " black "? Я пробовал следующее, но это выдает ошибку:

isset($filter_color) === 'black'

1 Ответ

2 голосов
/ 26 февраля 2020

Проверьте, совпадает ли строка с другой строкой

Если вы хотите проверить, содержит ли строка ТОЛЬКО определенный c набор символов, вы можете использовать strcmp или strcasecmp. strcasecmp регистр нечувствителен .

if ( strcasecmp($filter_color, 'black') === 0) ) :
  echo 'content for black';
endif;

Если строки совпадают, функция вернет 0. Если строки отличаются, она вернет либо 1 (если первая строка больше чем второй) или -1 (если первая строка меньше второй).

Проверьте, содержит ли строка другую строку (но может содержать больше):

Если вы хотите увидеть, находится ли черный где-то в строке, вы можете использовать strpos. Первый параметр - это строка, которую вы ищете, а второй - строка, которую вы ищете. Если он найден, он вернет место, где он находится в строке.

if ( strpos($filter_color, 'black') !== 0) ) :
  echo 'content for black';
endif;

Имейте в виду, что если строка находится в начале строки, она вернет 0. Вы должны использовать === или! ==

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...