包含在变量中

问题描述:

你知道print_r如何接受可选的第二个参数,如果设置为true将返回结果而不是打印它?包含在变量中

我希望include接受了第二个参数,它将以相同的方式工作。

它不这样做有什么可用的替代方案?如何将文件包含到变量中?

+0

**你想让它返回什么**? – delnan 2011-01-25 20:27:11

+0

@delnan,指定文件的解析内容。 – 2011-01-25 20:28:51

+0

该文件的文字内容?从文件中的代码抽象语法树?字节码? – delnan 2011-01-25 20:33:37

ob_start()ob_get_clean()会为你做的:

ob_start()呼应的一切捕获
ob_start(); 
include "file.php"; 
$result = ob_get_clean(); 

后,和ob_get_clean()用于检索捕获的数据。

你甚至可以做一个include2功能是这样的:

function include2($file) { 
    ob_start(); 
    include $file; 
    return ob_get_clean(); 
} 

而且使用这样的:

include2("file.php"); // return all printed values instead of really printing them 

正如@ircmaxell指出,这include2功能并不表现完全一样include由于包含变化的范围(从全局到函数的范围)。所以如果你依赖全球范围,这可能会破坏事情。

,我认为你是在http://www.php.net/manual/en/function.include.php

回报的东西从脚本中寻找#5。

include处理脚本的返回值。