PHP строка сравнения результата - PullRequest
1 голос
/ 13 апреля 2011

как сравнить с оператором if else.В запросе MySQL я могу использовать LIKE % оператор.
Я хочу сравнить строковый результат с php.То есть: Pro Tan 3 минуты, Pro Tan 6 минут, Pro Tan 9 минут

в mysql:

$db->query("SELECT * FROM treat WHERE tanning LIKE 'Pro Tan%'");

в php:

if($tanning == 'Pro Tan') :
  echo 'xxx';
else :
  echo 'zzz';
endif
// output zzz

Ответы [ 4 ]

3 голосов
/ 13 апреля 2011

Существует множество различных функций сравнения, которые вы можете использовать, в зависимости от того, насколько сложным вы хотите сделать сравнение.Чтобы конкретно найти строку, начинающуюся с «Pro Tan», вы можете сделать:

if (strpos($tanning, 'Pro Tan') === 0)
    echo 'xxx';

Обратите внимание на тройку ===, поскольку, если strpos возвращает false, это совсем не то же самое, чтовозвращение 0.

2 голосов
/ 13 апреля 2011

Если результат начинается со значения, вы можете использовать strncmp.

$foo = 'Pro Tan 6mins';
if (strncmp($foo,'Pro Tan', 7) === 0)
  echo 'match';

В случае нечувствительности к регистру вы также можете использовать strncasecmp.

1 голос
/ 13 апреля 2011

Вы ищете функцию strstr() в PHP , которая позволяет вам искать строку внутри строки.

if(strstr($tanning, 'Pro Tan')):
  echo 'xxx';
else :
  echo 'zzz';
endif;
0 голосов
/ 13 апреля 2011
if(preg_match("/^Pro Tan/",$foo)) {....}

Другие ответы также будут работать, но регулярные выражения, использующие preg_match(), более гибкие и будут продолжать работать с более сложным соответствием.

(некоторые скажут, что регулярное выражение медленное, но в этом случае, поскольку оно просто соответствует прямой строке, привязанной к началу, это очень эффективный запрос)

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