前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP中实现重载的方法

PHP中实现重载的方法

作者头像
风柏杨4711
发布2021-03-15 10:53:49
2.2K0
发布2021-03-15 10:53:49
举报
文章被收录于专栏:技术小牛技术小牛

这里所说的重载其实是通过利用PHP一些特殊的机制来实现的,在他们的参数列表中,可以对参数赋初值,如果有初值,当调用的时候没有传入这个参数的时候,就会将初值作为参数的默认值。有默认值的参数,在调用的时候就可以不传入,我们在函数体里面判断某参数是否与默认值相同,就可以知道当前应当执行什么代码了。下面是一个示例:

<?php /** *function : 通过传入参数来自定义日期中年、月、日的分隔符号 *@intDate 整型的日期,8位 *@divSign1 : 分隔符号1(可选) *@divSign2 : 分隔符号2(可选) *@divSign3 : 分隔符号3(可选) *author : waitatlee@163.com *create in : 2009-10-18 *version: 1.0 */ function changeDateFormat(divSign2=null,divSign3=null){//通过两个可选参数实现PHP所不支持的重载 if(divSign2==null && divSign1==null){//如果只有一个参数(没有分隔符参数),则表示这是一个已经加了分隔符的日期数据,就将分隔符去掉,还原成原来的格式 return substr(intDate,0,4).substr(intDate,5,2).substr(intDate,7,2); }else{//如果有两个参数,则第二个作为分隔符参数分别用来分隔年和月,月和日 return substr(intDate,0,4)."intDate,4,2)."intDate,6,2); } }else{//当后两个参数为空时表示通过三个分隔符来格式化日期 return substr(intDate,0,4)."intDate,4,2)."intDate,6,2)."

那在调用的时候怎样体现出重载的呢?看看下面的例子就知道了:

调用语句:                                                                               返回

 changeDateFormat(20091018);                                           2009-10-18

 changeDateFormat(20091018,"/");                                      2009/10/18

 changeDateFormat(20091018,"/","-");                                 2009/10-18

 changeDateFormat(20091018,"年","月","日");                     2009年10月18日

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档