Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解echo为什么不能在php类函数中工作_Php_Class_Function_Scope - Fatal编程技术网

理解echo为什么不能在php类函数中工作

理解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

我试图调试一个类,并使用print\r和echo在脚本进行时查看变量

但是由于某些原因,我似乎无法从函数中获得任何输出,我已声明函数为public,但无法使用print、echo或print\r获得任何输出

我在这里误解了一些基本的东西——有人能帮忙吗

以下是我代码的一些摘录:

此调用来自类中的公共函数:

$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);
}