我只是想不出代码。我有太多 if 语句,我想将其更改为 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 中实现相同的目的呢?
最佳答案
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
语句不会针对其他 case
进行测试,如果之前的已经匹配,但是因为您使用单独的 if
,而不是 if if-else
,您的方式总是针对每种情况进行测试。
关于php - 在开关 php 中使用 strstr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691483/