理解echo为什么不能在php类函数中工作
我试图调试一个类,并使用print\r和echo在脚本进行时查看变量 但是由于某些原因,我似乎无法从函数中获得任何输出,我已声明函数为public,但无法使用print、echo或print\r获得任何输出 我在这里误解了一些基本的东西——有人能帮忙吗 以下是我代码的一些摘录: 此调用来自类中的公共函数:理解echo为什么不能在php类函数中工作,php,class,function,scope,Php,Class,Function,Scope,我试图调试一个类,并使用print\r和echo在脚本进行时查看变量 但是由于某些原因,我似乎无法从函数中获得任何输出,我已声明函数为public,但无法使用print、echo或print\r获得任何输出 我在这里误解了一些基本的东西——有人能帮忙吗 以下是我代码的一些摘录: 此调用来自类中的公共函数: $xml_data = $this->convert_to_xml($rs); 方法如下所示: public function convert_to_xml($rs) { ec
$xml_data = $this->convert_to_xml($rs);
方法如下所示:
public function convert_to_xml($rs) {
echo "test variable:";
print_r($rs);
}
打印纯粹是为了测试传递的值,但我根本没有得到任何输出如果要返回值以将其分配给
$xml\u data
,则必须实际返回它,而不是回显它echo
将值直接发送到输出流,而return
从函数返回值,以便将其分配给变量或用于其他表达式:
public function convert_to_xml($rs) {
return "test variable:";
}
尝试以下操作(如果需要,请添加一些):
如果您希望echo/print\r将某些内容输出到php的标准输出流(这样您就可以在web浏览器中看到它),但由于某种原因您实际上没有看到它,那么很可能您已经打开了输出缓冲 试一试
您现在应该可以看到输出了。谢谢您的输入。我已经完成并成功地获得了预期的打印输出-这部分是一个简单的语法错误 我认为缺少的另一部分是变量的输出,它是一个xml字符串。这没有显示在页面上,我假设它是空白的,但是当我查看呈现页面的源代码时,它就在那里
谢谢调用是否实际执行过?为什么在函数之前声明函数调用?您好,欢迎使用SO。您可以修改原始问题以添加第二个问题,或者在SO中提出另一个问题。希望有帮助
public function convert_to_xml($rs = NULL /* this is by default */ ) {
if(isset($rs) && !empty($rs)){
var_dump($rs);
} else {
echo 'Variable not passed or empty';
}
}
public function convert_to_xml($rs) {
while (ob_get_level())
ob_end_flush();
echo "test variable:";
print_r($rs);
}