php 变量 默认值,PHP 中自定义函数参数赋默认值

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("第一个参数");

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

a4c26d1e5885305701be709a3d33442f.png

正确的默认值应该是这样的

function TestStr3($str,$para='mmmmm')

{

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

}

然后输出:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值