abc('asdf'); 
这样才会用预设值
你那个order 会变成 ''

解决方案 »

  1.   

    函数后面还有参数,所以应该不能直接留空吧,
    function abc($b,$order='newstime',$c) 
    {} abc($b,'',$c);我这样写的,但$order却没有获得newstime这个值
      

  2.   

    你也可以直接留空,连“ '' ”也不要,就是:
    //例如函数:
    function abc($a,$b,$c='123')
    {
    }
    //就用
    abc('adsf','adsf');//如果函数默认值在中间,如:
    function abc($a,$b='123',$c)
    {
    }
    //就用abc
    ('adsf',,'adsf');
      

  3.   

    搞错了一点,不好意思哦:
    //例如函数:
    function abc($a,$b,$c='123')
    {
    }
    //就用
    abc('adsf','adsf');//如果函数默认值在中间,如:
    function abc($a,$b='123',$c)
    {
    }
    //就用
    abc('adsf',,'adsf');
      

  4.   

    我试过了,但是直接留空报错
    Parse error: syntax error, unexpected ',' in E:\AppServ\www\study\mytest\asdf.php on line 5
      

  5.   

    搞错了,如果中间制定函数参数默认值是不对的,如果某个参数制定默认值,那么它和它后面的参数必须全部是有默认值的,楼主看看:
    http://cn2.php.net/manual/zh/functions.arguments.php
      

  6.   

    所以参数默认值只有这种类型:
    function abc($a,$b,$c='123',$d='123',$e='123')
    {
    }
    //就用
    abc('adsf','adsf');