重载函数里面的$args有什么用?
知道$name,但不清楚$args有什么用
知道$name,但不清楚$args有什么用
2017-02-06
<?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
你看一下这个例子就明白了。
举报