我想改变这一点:弄成这个样子如何简化这个php switch语句?
// 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;
(我想,如果我做上面的包括-最终输出的事情$lang_file
变量变得多余)
这样我就可以跳过整个switch
部分。我尝试了其他组合,但他们似乎不工作。有什么建议么?
@Gumbo优秀的答案。但我有一个问题:是否有任何方式直接包含文件,而不使用$ lang_file变量,如下所示:include_once'languages/lang。'。$ _ SESSION ['lang']。'php; – alexchenco 2010-03-16 16:18:45
@janoChen:可以这样做。但是您应该考虑'$ _SESSION ['lang']'未设置或不包含有效值的情况。然后你会得到'languages/lang..php'。但是如果你确保'$ _SESSION ['lang']'总是存在并且有一个有效值,那么你确实可以这样做。 – Gumbo 2010-03-16 16:22:35