我想改變這一點:弄成這個樣子如何簡化這個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