请教显示结果为何这样? echo 语法<?php$a=false;echo "在右边显示: " . var_dump($a) . "<br />";
?>以下是显示结果,
bool(false) 在右边显示: 
我不明白,为何不是
在右边显示: bool(false) 
呢?显示顺序为何与代码不符呢?
echo打印时,应该从左往右打印呀?即先打印 在右边显示,再打印 var_dump($a) 的结果呀?
为何不是这样呢?

解决方案 »

  1.   

    因为 var_dump 在 echo 前执行阿 
     var_dump本身就是打印了,还放到echo里干啥 
      

  2.   

    顶楼上。echo "在右边显示: " . var_dump($a) . "<br />";
    //执行的时候是先解析要打印的字符串。也就是会先执行var_dump($a);而var_dump($a)是直接打印数据,并没有返回值。
    所以就是你这个样子了。
      

  3.   

    <?php$a="i am first!";echo "在右边显示: " . testfun($a) . "<br />";function testfun($a){
     echo $a;
    }
    ?>