关于PHP 方法的参数问题

pro4j 2010-07-24 02:41:14
初学PHP,对PHP方法的参数有挺多疑问,比如在不同的PHP 页面中都调用了某一个类的方法如下:
ClassA::FunctionA('name', $value);

而在类ClassA中有这样的方法:
static public function FunctionA($a=null,$b=array(),$c='id')

为什么参数目不一样,类型也不一样,还有$a=null,$b=array(),$c='id'是指什么?指定类型?指定默认值? 有点晕
...全文
105 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pro4j 2010-07-25
非常感谢大家!!
回复
kyzy_yy_pm 2010-07-24
[Quote=引用 2 楼 yangball 的回复:]
static public function FunctionA($a=null,$b=array(),$c='id')
有的参数有默认值,不传也可以。所以数目不一定。
但不同的时候要遵守顺序。


$a=null,$b=array(),$c='id'
都是指值。


类型也不一样
php是弱语言,会自动转化为对应的类型。
[/Quote]+++

$a=null,$b=array(),$c='id' 这三个参数每个参数都设置了默认值,php中有默认值的参数的函数在调用的时候可以不用传参(在你不想重新传参数(非默认)的时候)


因为php是弱类型语言,所以用户不必特意指定变量的类型,在计算的时候它会自动转换类型的
回复
床上等您 2010-07-24
static public function FunctionA($a=null,$b=array(),$c='id')
有的参数有默认值,不传也可以。所以数目不一定。
但不同的时候要遵守顺序。


$a=null,$b=array(),$c='id'
都是指值。


类型也不一样
php是弱语言,会自动转化为对应的类型。
回复
amani11 2010-07-24
函数调用,参数未设置时候的默认值



function test($str = '', $type = 'type')
{
echo $str . $type . '<br />';
}
test();//打印了 type
test('str');//打印了strtype
test('string', 'other');//打印了stringother

回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告