php 函数参数默认值_php自定义函数的参数默认值用法详解

任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数和类定义。

函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。

可以用正则表达式表示为:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*。

php自定义函数接受参数的时候可以直接给赋默认值function TestStr($str)

{

return $str."是一个字符串";

}

echo TestStr("abcdef")."";

上面这个自定义函数接受一个参数,如果我们调用的时候 TestStr() ;不给参数会是什么情况呢?

直接报错:Warning: Missing argument 1 for TestStr()

所以开发的过程中为了避免上面的错误我们一般要在自定义函数的时候给参数赋默认值,如下function TestStr2($str="kkkkk")

{

return $str."是一个字符串";

}

现在调用 TestStr2() 不出错,直接输出 kkkkk是一个字符串,当然你传出参数后会替换掉默认参数.

第三种情况:

有2个以上参数的时候,如果不是全部给出默认值,一定要按照从右到左的参数依次给出默认值.如下就是错误的事例function TestStr3($str ='mmmmm' ,$para)

{

return $str."和".$para."都是字符串";

}

上面并没有遵循从右到做给出默认值,而是最左边的给出了一个默认值.

当我们调用函数的时候 TestStr3("第一个参数"); 我们期望的是第一个参数以默认值代替,第二个参数用传入参数代替.但是不是这样的,替换参数的顺序是从左到右.所以第二个参数不但没有传入值,连默认值都没有,所以直接报错

正确的默认值应该是这样的function TestStr3($str,$para='mmmmm')

{

return $str."和".$para."都是字符串";

}

然后输出:

第一个参数和mmmmm都是字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值