不论我们学习哪门编程语言,可能PHP中的默认参数放在右边这已经成为了一个不成文的规定,当然,这样做确实在很大程度上让我们对函数的理解更加清晰,如果一个函数的参数里面既有含默认参数的,又有非默认参数的,那调用的时候也很混乱,究竟这个参数是使用的默认值还是使用的传入的数据呢?
比如我们看如下代码:
<?php
function xin($age,$name = "辛星"){
echo "我的名字:",$name;
echo "<br />";
echo "我的年龄:",$age;
}
xin(23);
它的输出我想大家都能想到,如下:
我的名字:辛星
我的年龄:23
那么如果我们强制把默认参数放到左边呢,如下代码:
<?php
function xin($name = "辛星",$age){
echo "我的名字:",$name;
echo "<br />";
echo "我的年龄:",$age;
}
xin(23);
那么它的输出如下:
可以看到,我们自定义的函数是无法把默认参数放到左边啦,那么为什么我还会发这篇博客呢?因为我们有一个内置的函数是在左边启用了默认参数,这个函数就是implode,它的第一个参数是可选的分隔符,第二个则是一个数组。
比如我们如下:
<?php
$arr =array("辛星","小倩","小楠");
$str =implode($arr);
echo $str;
那么它的显示如下:
辛星小倩小楠
如果我们代码如下:
<?php
$arr =array("辛星","小倩","小楠");
$str =implode("---",$arr);
echo $str;
则代码显示如下:
辛星---小倩---小楠
看到了吧,这个分隔符是在左边的,也就是说,我们的默认参数是可以在必选参数的左边的,可惜只是内置函数。。。