PHP 包括:语法错误、意外T_INCLUDE、预期T_CASE或T_DEFAULT或“}”


PHP INCLUDE: syntax error, unexpected T_INCLUDE, expecting T_CASE or T_DEFAULT or '}'

我正在尝试更改它:

switch ($lang){
        case "es":
            include("index_es.php");
            break;
        case "en":
            include("index_en.php");
            break;
        default:
            include("index_en.php");
            break;
    }

对此:

switch ($lang){
            include("languages.php");   
    }

在语言文件中,病有所有的caseincludebreak信息。 导致语法错误的代码有什么问题?

不能使用 include 替换switchcase 语句。

相反,将整个内容(switch {}和所有内容)放在包含文件中。

也就是说,更好的解决方案(尤其是在添加更多语言时)可能是:

if(in_array($lang, ['es', 'fr', '...'])) {
    include('index_' . $lang . '.php');
} else {
    include('index_en.php');
}

你试过吗:

$lang_file = 'index_' . $lang . '.php';
include_once( $lang_file );