为了账号安全,请及时绑定邮箱和手机立即绑定

重载函数里面的$args有什么用?

知道$name,但不清楚$args有什么用

正在回答

2 回答

<?php

class Car {

    public $speed = 10;


    //在这里使用重载实现speedDown方法

    

    

    public function __call($name, $args) {

        

         $num=count($args);  

            if($num==2){  

            if ($name == 'speedDown') {

            $this->speed -= 10;

            }

        }  

    }

}

$car = new Car();

$car->speedDown('speedDown','223e'); //调用不存在的speedDown方法

echo $car->speed;

请看改过的这段代码 $args其实就是传递的参数个数。这里传递$car->speedDown('speedDown','223e');两个参数($car->speedUp(); 这样写也行 但是只能传递一个参数)所以在__call函数里判断

 $num=count($args);  

            if($num==2){  

得到正确的结果 如果只传递一个参数 那么$arg的值就是1

你看一下这个例子就明白了。

0 回复 有任何疑惑可以回复我~
#1

枫雪孤城 提问者

大概明白了,谢谢回答!
2017-02-06 回复 有任何疑惑可以回复我~
#2

枫雪孤城 提问者

非常感谢!
2017-02-06 回复 有任何疑惑可以回复我~

这里的$name对应的是speedDown这个方法,$args是传进来的参数以数组的形式存在,传的是$car->speedDown()这个方法里面的值

1 回复 有任何疑惑可以回复我~
#1

枫雪孤城 提问者

相当于speedDown($args)吗?
2017-02-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

重载函数里面的$args有什么用?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信