php - join函数是如何做到前面的参数可省略的?
本文介绍了php - join函数是如何做到前面的参数可省略的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
想封装一个功能类似join(implode的别名)的函数,代码如下:
<?php
#封装函数:join
$arr = array('jack','male',23);
function getJoin($glue="",$arr){
$str ="";
foreach ($arr as $key => $value) {
$str .= $value.$glue;
}
$str = substr($str, 0,-1);
return $str;
}
echo getJoin(",",$arr);
这样写的话看起来是跟系统函数join差不多,但如果调用时$glue参数不填,就会报错。
我知道有默认值的参数应该放在后面,例如getJoin($arr,$glue="")
,这样调用就可以只填$arr参数,但是我看了下手册,系统函数join的参数值是这样的:
没有中括号表示参数不可省略,而同时他也支持只填一个参数的写法并默认以空字符串作为$glue的值。虽然有说明是因为历史原因,我仍想知道该系统函数函数是如何实现的。
解决方案
函数重载。。。
http://m.blog.csdn.net/articl...
这篇关于php - join函数是如何做到前面的参数可省略的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文