gpt4 book ai didi

php - 如何简化这个php switch语句?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:52:55 24 4
gpt4 key购买 nike

我想改变这个:

// use appropiate lang.xx.php file according to the value of the $lang
switch ($_SESSION['lang']) {
case 'en':
$lang_file = 'lang.en.php';
break;

case 'es':
$lang_file = 'lang.es.php';
break;

case 'zh-tw':
$lang_file = 'lang.zh-tw.php';
break;

case 'zh-cn':
$lang_file = 'lang.zh-cn.php';
break;

default:
$lang_file = 'lang.en.php';
}

像这样:

//include file for final output
include_once 'languages/lang.'.$_SESSION['lang'].'php;

(如果我执行上面的 include-final-output-thing,我认为 $lang_file 变量变得多余)

这样我就可以跳过整个 switch 部分。我尝试了其他组合,但它们似乎不起作用。有什么建议吗?

最佳答案

你可以这样做:

switch ($_SESSION['lang']) {
case 'en':
case 'es':
case 'zh-tw':
case 'zh-cn':
$lang_file = 'lang.'.$_SESSION['lang'].'.php';
break;

default:
$lang_file = 'lang.en.php';
}

或者你使用数组并使用in_array查看值是否在数组中:

$languages = array('en', 'es', 'zh-tw', 'zh-cn');
if (in_array($_SESSION['lang'], $languages)) {
$lang_file = 'lang.'.$_SESSION['lang'].'.php';
} else {
$lang_file = 'lang.en.php';
}

您甚至可以在这两种情况下省略 en,因为它是默认值。

关于php - 如何简化这个php switch语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2455969/

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