求php函数有缺省值参数的省略写法

mingfish2 2010-08-12 06:36:25
求php函数有缺省值参数的省略写法

$a=1必须写在$b前面,怎么样不用再给$a赋值?不行的话,是否必须把$a=1写在后面?


<?php
function hello($a=1,$b){
echo $a+$b;
}
hello(,2); //报错了,怎么才能不用再$a赋值?
?>
...全文
890 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2010-08-13
缺省参数必须写在参数表后部
调用时,必须自后向前逐一缺省,不能跳过

这是 php 的约定,除非你修改 php 的内核
回复
jlzan1314 2010-08-12
这个没办法的.只能这样写了.
回复
fenggu_xt 2010-08-12
[Quote=引用 4 楼 hooloo 的回复:]
干嘛要把$a写在$b前面?
[/Quote]
如果不把$a放子最后,假设使用默认值,系统怎么知道你用的是哪个变量?
回复
HOOLOO 2010-08-12

干嘛要把$a写在$b前面?
回复
CunningBoy 2010-08-12
那你送默认值给它就行了呗
hello(1, 1, 5);
回复
mingfish2 2010-08-12
如果是带多个缺省值怎么办,给$c赋值,不给$b赋值。
<?php
function hello($a,$b=1,$c=10){
echo $a+$b+$c;
}
hello(1,,5);
?>
回复
CunningBoy 2010-08-12
必须将$a=1写在后面。
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

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