Php 包括禁令

Php 包括禁令,php,include,Php,Include,我正在尝试将一个文件包含在包含的文件中—我要将其包含在switch语句中的点。出于某种原因,它不起作用,让我发疯。据我所知,在include中包含include或在大括号中放置include是没有限制的。我得到的具体错误是 Parse error: syntax error, unexpected T_INCLUDE, expecting T_CASE or T_DEFAULT or '}' i 有人能发现错误吗?有什么禁令吗 第一个文件 <?php include("includes

我正在尝试将一个文件包含在包含的文件中—我要将其包含在switch语句中的点。出于某种原因,它不起作用,让我发疯。据我所知,在include中包含include或在大括号中放置include是没有限制的。我得到的具体错误是

Parse error: syntax error, unexpected T_INCLUDE, expecting T_CASE or T_DEFAULT or '}' i 
有人能发现错误吗?有什么禁令吗

第一个文件

<?php include("includes/getdata.php"); ?> 

第一个包含的文件

<?php
//some code
switch ($action)
{
?>
<?php include("words.php"); ?>
<?php
}
//rest of code
?>

Include内包含(words.php)


的语法错误


因此,您必须添加
default:include_once'word.php'

为什么总是打开和关闭php块

//some code
switch ($action) {
    include("words.php");
}
//rest of code
这是错误的,因为你没有说明行动的理由

//some code
switch ($action) {
    case 'A': // This is mandatory
      include("words.php");
      break;
}
//rest of code

请重新阅读错误消息

switch (...) {
    include ...
}
这是无效的。在
开关
语句中的任何其他代码之前,您需要一个
case
default
关键字:

switch (...) {
    case ... :
        include ...
}

您试图做的事情不起作用,一开始就是一个坏主意。

在我取出案例并将其放入include之前,语法工作正常……将重新检查。顺便说一句,我这样做是因为这些案例对于多个文件来说是常见的。所以不能在switch语句的大括号后立即放置include?我没有将整个switch语句放在include中的原因是,在调用它的不同页面中,var名称是不同的。块可以更容易地查看代码中的include。如果没有
大小写
默认值
,则不能在
开关
之间放置任何代码。你希望这能做什么?开关中的代码仅在案例匹配时执行。在开关内没有大小写的代码没有定义的含义<代码>包括也不例外。你试图拼凑代码的方式是个坏主意。使用函数或其他自包含且可重用的东西,不要跨多个文件组合多个代码片段。确定。我想我必须使varnames在不同的源文件中匹配,并将整个switch语句放入include中。谢谢,我想我宁愿使用相同的变量名,也不愿通过函数传递不同的变量名…无论什么样的变量能让你的船漂浮。如果你喜欢大泥球的意大利面代码,继续吧。
switch (...) {
    include ...
}
switch (...) {
    case ... :
        include ...
}