【问题标题】:Var_dump with echo output带回显输出的 Var_dump
【发布时间】:2023-03-06 09:35:01
【问题描述】:

将 var_dump 与具有类似回声的函数一起使用时:

<?php 

function foo()
{
  echo 'Hello';
}

var_dump (foo());

?>

输出是:

HelloNULL

我想知道 NULL 是从哪里来的

【问题讨论】:

  • 因为foo()没有返回值
  • nulll 是 foo() 方法的返回值
  • 改用print_r ...这是我的解决方案...大声笑Sandbox - 输出Hello。要清楚 print_r 不会打印 null、false 或空字符串。 null 来自退货。你可以返回其他东西,但那是没有意义的。

标签: php echo var-dump


【解决方案1】:

var_dump 总是显示变量类型,如intstring

当您调用函数foo() 并且没有返回类型时,打印Hellovar_dump 声明foo()NULL,因为它没有返回类型。

<?php 
    function foo(){
        echo 'Hello';
        //return 'StackOverFlow';
    }
    var_dump(foo());
?>

看第二个

<?php
    function foo2(){
    }
    var_dump(foo2()); 
?>

输出=>NULL

也就是说var_dump不能声明什么类型的变量函数foo2()

【讨论】:

  • 如果您觉得对您有帮助,我很高兴
【解决方案2】:

只需在函数 foo() 中返回值即可。或者只使用 print_r 打印 foo() 值。

<?php 
function foo()
{
  echo 'Hello';
}
print_r (foo());
?>

输出将是 Hello。

【讨论】:

    【解决方案3】:

    你必须设置函数的返回值。

    function foo()
    {
      return 'Hello';
    }
    
    var_dump (foo());
    

    那么,如果你想检索函数的值,只需这样做:

    echo foo();
    

    【讨论】:

    • 感谢您的努力,实际上我知道如何使用 echo 和 return,但我的问题是了解 null 的来源,这就是我从第二条评论中了解到的“nulll is return value of foo( ) 方法 " 但还是谢谢
    • 返回NULL是因为你的函数没有返回值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2014-04-02
    • 2011-07-08
    • 1970-01-01
    • 2013-09-11
    • 2011-01-07
    • 1970-01-01
    相关资源
    最近更新 更多