1 <?php
2 class test{
3 function __call($method,$arguments){
4 //method 是类中没有定义的函数名
5 var_dump($method);
6 //arguments是类中没有定义的函数的参数,为一个数组
7 var_dump($arguments);
8 if($method=='do'){
9 if (count($arguments)==1) {
10 //这里实现重载,如果一个参数,走这个if,输出这个参数
11 echo $arguments[0].'一个参数';
12 }
13 if(count($arguments)==2){
14 //两个参数,就走这个if,输出两者的和
15 echo $arguments[0]+$arguments[1],'两个参数 相加';
16 }
17 }
18 }
19 }
20 $t=new test();
21 $t->do(1);
22 $t->do(7,8);
23 /**
24 结果如下
25 string 'do' (length=2)
26
27 array (size=1)
28 0 => int 1
29
30 1一个参数
31 string 'do' (length=2)
32
33 array (size=2)
34 0 => int 7
35 1 => int 8
36
37 15两个参数 相加
38 */