我只是想不出代码。我想将要更改为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/

10-13 02:53