将变量转换为ob的问题


Problems transferring variables into ob

我使用以下代码将模板读取到缓冲区(ob)中$vars包含我想在模板中访问的所有变量。

print_r($this->vals);  //prints out an array of values, value1 => '', value2 => ''...
ob_start();
include myTemplate.php
$content = ob_get_contents();
ob_end_clean();
echo $content;

但在我的模板$vals是未定义的,或者我没有访问它。

知道我哪里错了吗?

谢谢,

可能是一个简单的打字错误。但是您使用的是$vals而不是$vars

如果这不是问题所在,就把ob_start()放在首位。

ob_start();
print_r($this->vals);  //prints out an array of values, value1 => '', value2 => ''...
include "myTemplate.php"; //few errors were here, no quotes and semicolon
$content = ob_get_contents();
ob_end_clean();
echo $content;

只是做了一个快速测试,它有效。


更新

如果您正在尝试获取print_r($this -> vals)$content的值。有一种非常简单的方法可以做到这一点。print_r()[docs]函数也接受另一个参数是否返回。

如果是这样的话,你的整个代码就归结为这个

$content = print_r($this->vals, true);