php - 在开关 php 中使用 strstr

标签 php switch-statement strstr

我只是想不出代码。我有太多 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/

相关文章:

php - 在wordpress中按自定义字段排序

php - 在这个奇怪的数组键结构中,这个按位或做什么?

php - 如何获取另一个数组中的数组的值

c - 我的 strstr 函数有效,但一个旨在测试它的程序说它不起作用

c - Sscanf 和自定义中断

php - 具有相同表的多个连接的 SQL

java - 如何让 switch case 在 Java 中接受多种数据类型?

java - 如何修复操作 switch 语句

javascript - 如何简化这 3 个 switch-case 功能?

php - 在 php 中使用 strstr 作为 boolean 检查是什么意思?