使用php if语句

使用php if语句,php,if-statement,Php,If Statement,我有以下PHP IF语句 <?php if ($crs_cat1 == "Business"){ $catimage ="businessImage.png"; } else if ($crs_cat1 == "Leadership") { $catimage = "leadershipImage.png"; } else if ($crs_cat1 == "Media and Design") { $catimage = "mediadesignImage.png";

我有以下PHP IF语句

<?php
if ($crs_cat1 == "Business"){
  $catimage ="businessImage.png";
}
else if ($crs_cat1 == "Leadership") {
  $catimage = "leadershipImage.png"; 
}

else if ($crs_cat1 == "Media and Design") {
  $catimage = "mediadesignImage.png"; 
}

else if ($crs_cat1 == "Web Development") {
  $catimage = "webdevelopmentImage.png"; 
}

else if ($crs_cat1 == "Mobile Development") {
  $catimage = "mobileDevelopment.png"; 
}

else if ($crs_cat1 == "Project Management") {
  $catimage = "business5.png"; 
}

else if ($crs_cat1 == "Databases and Business Intelligence") {
  $catimage = "businessAnalysis.png"; 
}

else if ($crs_cat1 == "IT Service Management") {
  $catimage = "itService.png"; 
}

else if ($crs_cat1 == "Business Analysis and Agile") {
  $catimage = "businessAnalysis.png"; 
}

else if ($crs_cat1 == "Network Security and OS") {
  $catimage = "networkSecurity.png"; 
}

else if ($crs_cat1 == "Virtualization and Cloud Computing") {
  $catimage = "virtualization.png"; 
}

else if ($crs_cat1 == "Software Quality & Testing Tools") {
  $catimage = "testing.jpg"; 
}

else if ($crs_cat1 == "Microsoft") {
  $catimage = "microsoft2.png"; 
}

else if ($crs_cat1 == "%Adobe%") {
  $catimage = "adobe.png"; 
}

else if ($crs_cat1 == "IBM") {
  $catimage = "ibm.jpg"; 
}

else {
    $catimage = "negotiation.png"; 

}






?>


在if声明中,我想更像是,如果它与业务或领导力相似,从某种意义上说,结果不一定是精确的,只是必须足够相似。例如,如果==到adobe,并且标题是adobe dreamweaver,那么它应该填充您可以使用strpos对“业务”或“领导力”进行简单的子字符串匹配。这将在字符串变量中找到任何“业务”子字符串

if (strpos($crs_cat1, "Business") !== false) {
    $catimage = "businessAnalysis.png"; 
}
只需确保使用“!==false”、而不是“true”或“!false”或其他任何选项进行检查,因为返回值实际上依赖于类型

有关更多参考,请参阅


另外,值得注意的是,
stripos
将搜索子字符串,而不考虑大小写(不区分大小写)

我建议您使用stripos()或preg_match()。如果您知道要匹配的文本的大小写肯定会匹配,也可以使用strps(),即Business,而不是Business或Business

如果您可以区分大小写进行匹配,则可以节省一些执行时间,但如果是用户输入,则应该不区分大小写进行匹配

以区分大小写与stripos()匹配:

if(strpos($crs_cat1, 'Business') !== FALSE){ //code }
if(preg_match('/Business/', $crs_cat1)){ //code }
if(stripos($crs_cat1, 'Business') !== FALSE){ //code }
if(preg_match('/business/i', $crs_cat1)){ //code }
在大小写上与正则表达式匹配:

if(strpos($crs_cat1, 'Business') !== FALSE){ //code }
if(preg_match('/Business/', $crs_cat1)){ //code }
if(stripos($crs_cat1, 'Business') !== FALSE){ //code }
if(preg_match('/business/i', $crs_cat1)){ //code }
或者,不区分大小写匹配(通常推荐):

if(strpos($crs_cat1, 'Business') !== FALSE){ //code }
if(preg_match('/Business/', $crs_cat1)){ //code }
if(stripos($crs_cat1, 'Business') !== FALSE){ //code }
if(preg_match('/business/i', $crs_cat1)){ //code }
或者,将大小写与正则表达式不敏感地匹配:

if(strpos($crs_cat1, 'Business') !== FALSE){ //code }
if(preg_match('/Business/', $crs_cat1)){ //code }
if(stripos($crs_cat1, 'Business') !== FALSE){ //code }
if(preg_match('/business/i', $crs_cat1)){ //code }
通常,如果要匹配示例中的简单字符串,则应坚持使用strpos/stripos。但是,如果要匹配任何复杂类型的匹配,preg_match非常有用

我最近在stripos和preg_match之间进行了一次性能测试,以确认stripos()对于简单的单词匹配速度更快

stripos()10000000次迭代:

6.687420129776s
9.2206559181213s
preg\u match()10000000次迭代:

6.687420129776s
9.2206559181213s

RoCksFrow

你想要正则表达式,那么你是说crs_cat=“string”Righji想的是比赛前的游戏。