php比较字符串结果


php compare string result

如何比较与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

根据您想要进行比较的复杂程度,您可以使用各种不同的比较函数。要找到一个以"Pro Tan"开头的字符串,您可以执行以下操作:

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

注意三重===,因为如果strpos返回false,则与返回0完全不同。

假设结果以值开头,则可以使用strncmp

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

对于不区分大小写,您也可以使用strncasecmp

您正在PHP中寻找strstr()函数,它允许您在字符串中搜索字符串。

if(strstr($tanning, 'Pro Tan')):
  echo 'xxx';
else :
  echo 'zzz';
endif;
if(preg_match("/^Pro Tan/",$foo)) {....}

给出的其他答案也适用,但使用preg_match()的正则表达式更灵活,将继续使用更复杂的匹配。

(有些人会说regex很慢,但在这种情况下,因为它只是匹配一个锚定在开头的直字符串,所以它是一个非常有效的查询(