php - 可以使用 switch 语句比较 PHP 中的字符串吗?

标签 php nested switch-statement string-comparison

我正在尝试编写一些 PHP 代码以根据两个参数返回翻译:整数翻译 ID 和两个字母的语言代码。

为此,我嵌套了 switch 语句。外部开关工作正常,但内部开关失败并且始终返回它们的默认值,以 $lang 参数采用的值为准。在下面的示例中,当 $lang="de"时返回 "Berne"。

我检查过,$lang 的值是正确的;它是。 将 $lang 转换为 (string) 以确保它是正确的类型。 尝试将内部开关括在括号之间,并用双引号代替简单的双引号。没有成功。这是我的代码:

<?php
switch($id) {
  case 3:
    {
    switch((string)$lang) {
      case 'de':
        $v = 'Bern';
        break;
      case 'en':
        $v = 'Berne';
        break;
      default:
        $v = 'Berne';
      }
    }
    break;

  case 4:
    {
    switch($lang) {
      case 'de':
        $v = 'Zürich';
        break;
      case 'en':
        $v = 'Zurich';
        break;
      default:
        $v = 'Zurich';
      }
    } 
    break;

  default:
    {
    switch($lang) {
      case 'de':
        $v = 'Genf';
        break;
      case 'en':
        $v = 'Geneva';
        break;
      default:
        $v = 'Genève';
      }
    }
    break;
}
return $v;
?>

最佳答案

//I don't what error you are getting when i am testing your code its working perfectly you can also see
<?php
$id = 4;
$lang="de";
switch($id) {
  case 3:
    {
    switch((string)$lang) {
      case 'de':
        $v = 'Bern';
        break;
      case 'en':
        $v = 'Berne';
        break;
      default:
        $v = 'Berne';
      }
    }
    break;

  case 4:
    {
    switch($lang) {
      case 'de':
        $v = 'Zurich1';
        break;
      case 'en':
        $v = 'Zurich2';
        break;
      default:
        $v = 'Zurich3';
      }
    } 
    break;

  default:
    {
    switch($lang) {
      case 'de':
        $v = 'Genf';
        break;
      case 'en':
        $v = 'Geneva';
        break;
      default:
        $v = 'Genève';
      }
    }
    break;
}
echo $v;
?>

关于php - 可以使用 switch 语句比较 PHP 中的字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298473/

相关文章:

php - MySQL页面访客统计,数据库溢出保护

php - Magento 阻止 Paypal 重写

php - PHP 类中的 Mysqli

node.js - 从 mongodb/nodejs 查询嵌套对象数组

networking - Arista EOS 中的接口(interface)配置

php - 为什么在数据库中保存session是好的save?

python - Python中的递归嵌套表达式

elasticsearch - Elasticsearch:通过嵌套对象查询查找内部命中

java - 字节码中 Switch 语句的表示和效率?

javascript - 多项选择 Javascript - 寻找一种让它工作的聪明方法