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

请问 【public function __call($name,$args)】中$name ,$args 在属性上有什么区别?

<?php
/*class Car {
    public $speed = 10;

    //在这里使用重载实现speedDown方法
    
}
$car = new Car();
$car->speedDown(); //调用不存在的speedDown方法
echo $car->speed;*/

class Car {
    public $speed = 0;
    
    public function __call($name,$args) {
        if ($name == 'speedUp'){
            $this->speed += 10;
        }
    }
    }
$car = new Car();
$car->speedUp();
echo $car->speed;


正在回答

2 回答

因为调用了不存在的方法speedDown 所以进行了重载,传入了2个参数都存放在$args里,var_dump($name,$args);可以明显查看变量里面的内容


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

三瓣核桃 提问者

非常感谢!谢谢你。感谢。
2016-05-05 回复 有任何疑惑可以回复我~
#2

坚持MyDream

请问传入的两个参数是哪两个呀?
2016-08-25 回复 有任何疑惑可以回复我~
#3

西伯利亚狼timo 回复 坚持MyDream

string(9) "speedDown"array(0) {}0
2017-04-14 回复 有任何疑惑可以回复我~

类似于函数的形参与实参

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

三瓣核桃 提问者

嗯嗯 ,谢谢,就是 比如 后边的这个函数(前边的我注释掉了) function __call($name,$args) 中$name 是实参,$args是形参,是吧?她们的作用域不同。这样理解对吗?
2016-05-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问 【public function __call($name,$args)】中$name ,$args 在属性上有什么区别?

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