包含在变量中
问题描述:
你知道print_r
如何接受可选的第二个参数,如果设置为true
将返回结果而不是打印它?包含在变量中
我希望include
接受了第二个参数,它将以相同的方式工作。
它不这样做有什么可用的替代方案?如何将文件包含到变量中?
答
ob_start()
和ob_get_clean()
会为你做的:
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
由于包含变化的范围(从全局到函数的范围)。所以如果你依赖全球范围,这可能会破坏事情。
**你想让它返回什么**? – delnan 2011-01-25 20:27:11
@delnan,指定文件的解析内容。 – 2011-01-25 20:28:51
该文件的文字内容?从文件中的代码抽象语法树?字节码? – delnan 2011-01-25 20:33:37