function fetch_m() 
{
  return $query . "+++++";
}

echo fetch_m("4456")我这样写的函数,调用为什么不报错!~~ 在线等

解决方案 »

  1.   

    $query未定义,有Notice级提示如果echo 语句后面是 ?>,不会报错。如果还有语句,则不带;是语法错误函数没有调用参数,无论你传入多少参数,都不会报错。反之至少有Warning级提示
    ====================
    代码最好规范。有利于团队一起工作
      

  2.   

    这算是php一个特征,鉴于php本身并不支持函数重载,利用这种机制可以模拟函数重载function fetch_m() { 
            $args = func_get_args();
            return print_r($args,1);
    }echo fetch_m("4456");
    echo fetch_m("4456","5567");
    echo fetch_m("4456","5567","6678");
      

  3.   


    <pre>
    <?php
    function fetch_m() 
    {
    print_r(func_get_args());
    return $query . "+++++";
    }
        
    echo fetch_m("4456","cc");//如果是结束符号参考2楼
    ?>
    </pre>
    //php函数有这样的机制不设置参数使用func_get_args也能传递