从包含文件返回

时间:2009-08-21 20:51:33

标签: php

在PHP中,如何从包含的脚本返回到包含它的脚本?

IE:

1 - 主要脚本 2 - 申请 3 - 包括

基本上,我想从3回到2,return()不起作用。

代码2 - 应用程序

$page = "User Manager";
if($permission["13"] !=='1'){
    include("/home/radonsys/public_html/global/error/permerror.php");
    return();
}

5 个答案:

答案 0 :(得分:112)

includeme.php:

$x = 5;
return $x;

main.php:

$myX = (include 'includeme.php');

这是PHP的鲜为人知的功能之一,但它可以很好地设置非常简单的配置文件。

答案 1 :(得分:18)

return应该有效,如the documentation中所述。

  

如果当前脚本文件是include()ed或require()ed,则控制权将传递回调用文件。此外,如果当前脚本文件是include()ed,那么给予return()的值将作为include()调用的值返回。

答案 2 :(得分:11)

我知道这已经得到了解答,但我认为我有一个很好的解决方案......

<强> main.php

function test()
{
    $data = 'test';
    ob_start();
        include( dirname ( __FILE__ ) . '/included.php' );
    return ob_get_clean();
}

<强> included.php

<h1>Test Content</h1>
<p>This is the data: <?php echo $data; ?></p>

我刚刚包含$data,表明您仍然可以将数据传递到包含的文件,并返回包含的文件。

答案 3 :(得分:6)

嗯,PHP manual不同意你的意见。 return应该将您从包含的文件中保释出来。当然,它不会在函数中起作用。

答案 4 :(得分:4)

请参阅include的文档中的示例#5

您可以在包含脚本时获取脚本的返回值,例如:

$foo = include 'script.php';