PHP 中 echo、var_dump、print_r 函数的工作原理浅析

PHP 中 echo、var_dump、print_r 能够在浏览器中打印出变量信息,基本原理是 PHP 的缓存机制。PHP 的缓存机制的工作流程是 “PHP->Apache-> 浏览器”,echo、var_dump、print_r 函数打印的变量的值也是经过这样的流程。与上面 3 个函数有争议的关键字是 return—— 函数的返回值。函数的返回值不会打印在浏览器上面,比如上面的函数输出,不会在浏览器上面显示。

function addnum(){
    $sum1 = '1';
    $sum2 = '2';
    $sum = $sum1 + $sum2;
    return $sum;
}
addnum();

函数内部的 return 改为 echo, 浏览器上面就会输出 “3” 了。

function addnum(){
    $sum1 = '1';
    $sum2 = '2';
    $sum = $sum1 + $sum2;
    echo $sum;
}
addnum();

在我们的第一个代码段中,函数是不是返回了值 “3” 了,写段代码检验一下。

function addnum(){
    $sum1 = '1';
    $sum2 = '2';
    $sum = $sum1 + $sum2;
    return $sum;
}
addnum();
if('3' == addnum()){
    print_r('我的假设是正确的');
}

浏览器输出结果如下,检验正确。函数的返回值是 “3”,但是没有在浏览器上输出来而已。