PHP小技巧之函数重载
2015-01-24信息快讯网
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]); } } 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");
PHP利用func_get_args和func_num_args函数实现函数重载实例
用 Composer构建自己的 PHP 框架之使用 ORM
用 Composer构建自己的 PHP 框架之设计 MVC
用 Composer构建自己的 PHP 框架之构建路由
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
用 Composer构建自己的 PHP 框架之基础准备
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
自己写的兼容低于PHP 5.5版本的array_column()函数
PHP函数实现分页含文本分页和数字分页
PHP链接MySQL的常用扩展函数
PHP封装分页函数实现文本分页和数字分页
浅谈php扩展imagick
mac下Apache + MySql + PHP搭建网站开发环境
在PHP中使用X-SendFile头让文件下载更快
PHP is_subclass_of函数的一个BUG和解决方法
PHP中数组的分组排序实例
php_screw安装使用教程(另一个PHP代码加密实现)
php5.2以下版本无json_decode函数的解决方法
PHP函数strip_tags的一个bug浅析
dedecms函数分享之获取某一栏目所有子栏目
PHP取余函数介绍MOD(x,y)与x%y
php中拷贝构造函数、赋值运算符重载
PHP和JAVA中的重载(overload)和覆盖(override) 介绍