<?php
class Test
{
public function display($num)
{
echo "function display parm num=".$num;
}
}
echo "<".Test::display(1)."><br>";

echo "<hr>";

$test=new Test();
echo "<".$test->display(2)."><br>";
?>
为什么结果 不是
<function display parm num=1>
--------------------------------------------------------------------------------
<function display parm num=2>而是
function display parm num=1<>
--------------------------------------------------------------------------------
function display parm num=2<>

解决方案 »

  1.   

    public function display($num) 

        return "function display parm num=".$num; 
    ;//echo "function display parm num=".$num; 

    //===================================
      

  2.   

    为什么,我在函数里打印,它为什么不是接在 <  后面,就是为什么它先显示函数里面的东西,而后再显示echo 句。
      

  3.   

    < 和 >在上面的例子里,会别解析,
    我的问题就是问:
    <?php
    class Test
    {
    public function display($num)
    {
    echo "function display parm num=".$num;
    }
    }
    echo "q".Test::display(1)."m<br>";

    echo "<hr>";

    $test=new Test();
    echo "q".$test->display(2)."m<br>";
    ?>
    的显示结果是:function display parm num=1qm--------------------------------------------------------------------------------
    function display parm num=2qm为什么不是:qfunction display parm num=1m--------------------------------------------------------------------------------
    qfunction display parm num=2m很感谢一楼的回答,display函数里,吧echo改为return 可以,为什么echo就不行,这里php是不是做了什么限制吗?还是另有隐情,请大家给指点下:谢谢了
      

  4.   

    echo 遇到函数会先执行函数体的东西,当函数体的东西执行完了才会打印出返回结果
      

  5.   


    你把 echo " <".Test::display(1)."> <br>"; 
    换成:
    $s = " <".Test::display(1)."> <br>"; 
    echo $s;
    就知道PHP为什么会这么输出了