gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:02:40 26 4
gpt4 key购买 nike

我正在尝试编写一些 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com