我只是想不出代码。我想将要更改为switch语句的陈述太多了,但是我找不到逻辑。
目前,我有:
if(strstr($var,'texttosearch'))
echo 'string contains texttosearch';
if(strstr($var,'texttosearch1'))
echo 'string contains texttosearch1';
if(strstr($var,'texttosearch2'))
echo 'string contains texttosearc2h';
//etc etc...
但是如何在交换机中实现相同的目的?
最佳答案
switch (true) {
case strstr($var,'texttosearch'):
echo 'string contains texttosearch';
break;
case strstr($var,'texttosearch1'):
echo 'string contains texttosearch1';
break;
case strstr($var,'texttosearch2'):
echo 'string contains texttosearc2h';
break;
}
请注意,这与您自己的解决方案略有不同,因为
switch
-statement如果较早的版本已经匹配,则不会针对其他case
进行测试,而是因为您使用单独的if
,而是如果if-else
始终针对每种情况进行测试。关于php - 在开关php中使用strstr,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6691483/