文档章节

分享---PHP函数重载的技巧实例代码

mysoftsky
 mysoftsky
发布于 2014/06/13 16:57
字数 167
阅读 129
收藏 5

php 作为一种弱类型语言,本身不能像强类型如java ,c++那样,直接的实现重载。

可以通过一些方法,间接实现函数重载。

1,可以使用func_get_args()和func_num_args()这两个函数实现函数的重载。
PHP代码:

function rewrite() { 
$args = func_get_args(); 
if(func_num_args() == 1) { 
func1($args[0]); 
} else if(func_num_args() == 2) { 
func2($args[0], $args[1]); 
} 
} www.jbxue.com
function func1($arg) { 
echo $arg; 
} 
function func2($arg1, $arg2) { 
echo $arg1, ' ', $arg2; 
} 
rewrite('PHP'); //调用func1 rewrite('PHP','China'); //调用func2

2.使用默认值,从而根据输入,得到自己想要的结果:

function test($name="小李",$age="23"){ 
echo $name." ".$age; 
}

test(); 
echo "<br/>"; 
test("a"); 
echo "<br/>"; 
test("a","b");

本文转载自:

共有 人打赏支持
mysoftsky
粉丝 7
博文 176
码字总数 4429
作品 0
廊坊
私信 提问
《PHP基础知识总结》系列分享专栏

总结PHP基础知识,对初学者还是高手都值得参考巩固。 《PHP基础知识总结》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201728.html 文章 PHP检查库或函数是否...

kaixin_code
2018/11/05
0
0
【C++】C++运算符重载-基础

本篇博客讲解: 运算符重载基础,以及实例 运算符重载基础 运算符重载就是对已有的运算符赋予新的含义,实现新的功能。 运算符重载,如“+”,它可以对int、float、string类型进行加法运算。 ...

qq_26525215
2017/09/03
0
0
《PHP基础知识总结》系列-新鸟老鸟通吃

《PHP基础知识总结》文件夹收藏文章列表 总结PHP基础知识,对初学者还是高手都值得参考巩固。 1PHP检查库或函数是否可用的方法 2关于PHP5 Session生命周期介绍 3PHP页面和Mysql数据库的转UTF...

开元中国2015
2015/05/06
92
0
Laravel5.3之bootstrap源码解析

说明:Laravel在把Request通过送入中间件Middleware和路由Router之前,还做了程序的启动Bootstrap工作,本文主要学习相关源码,看看Laravel启动程序做了哪些具体工作,并将个人的研究心得分享...

botkenni
2016/10/28
363
0
PHP精华

ping的通却不能远程解析URL试试wget HTTP request sent, awaiting response... 403 Forbidden 10:58:22 ERROR 403: Forbidden. break和continue break 结束当前 for,foreach,while,do..w......

晨曦之光
2012/03/09
378
1

没有更多内容

加载失败,请刷新页面

加载更多

JDK 12又来了,我学不动了...

写在前面 看到 JDK 12又发布了,萌新不知不觉感觉瑟瑟发抖,从 Java 1.8的函数式编程思维和范式 到 Java 1.9的模块化特性的加持 以及还没来得及深切感受一下 Java 1.11 的 ZGC强大之后,这次...

CodeSheep
12分钟前
0
0
解决在gradle构建project时,发生peer not authenticated错误的方法

问题: FAILURE: Build failed with an exception.* What went wrong:Could not resolve all dependencies for configuration ':wl01-service:compile'.> Could not resolve com.ali......

Benz001
22分钟前
1
0
Apache Ignite上的TensorFlow

任何深度学习都是从数据开始的,这是关键点。没有数据,就无法训练模型,也无法评估模型质量,更无法做出预测,因此,数据源非常重要。在做研究、构建新的神经网络架构、以及做实验时,会习惯...

李玉珏
47分钟前
6
0
Java记录日志附带请求标识

起因 系统是web接口服务,排查故障的时候经常需要记录某次请求调用链路日志。这样我们拉日志的时候只要匹配这个traceid就行了 第一版解决方案 原来我们一直用了个很low的办法,在请求开始的时...

Tree
51分钟前
2
0
使用split_size优化的ODPS SQL的场景

使用split_size优化的ODPS SQL的场景 首先有两个大背景需要说明如下: 说明1:split_size,设定一个map的最大数据输入量,单位M,默认256M。用户可以通过控制这个变量,从而达到对map端输入的...

阿里云官方博客
56分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部