課程
/后端開發(fā)
/PHP
/PHP進階篇
public function __call($name, $args)這里的$args是什么?
2016-10-30
源自:PHP進階篇 2-9
正在回答
<?php
class Car {
? ? public $speed = 10;
? ? //在這里使用重載實現(xiàn)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'); //調(diào)用不存在的speedDown方法
echo $car->speed;
請看改過的這段代碼?$args其實就是傳遞的參數(shù)個數(shù)。這里傳遞$car->speedDown('speedDown','223e');兩個參數(shù)($car->speedUp(); 這樣寫也行 但是只能傳遞一個參數(shù))所以在__call函數(shù)里判斷
?$num=count($args); ?
得到正確的結(jié)果 如果只傳遞一個參數(shù) 那么$arg的值就是1
name為方法名,args形式是數(shù)組這里是參數(shù)數(shù)組。調(diào)用不存在的方法speedDown過程中,自動調(diào)用__call()方法,并且以數(shù)組的形式傳遞被調(diào)用的不存在的方法的多個參數(shù)。
慕粉4220271 提問者
傳遞進來的參數(shù)吧。
舉報
輕松學(xué)習(xí)PHP中級課程,進行全面了解,用PHP快速開發(fā)網(wǎng)站程序
2 回答請問 【public function __call($name,$args)】中$name ,$args 在屬性上有什么區(qū)別?
4 回答求答復(fù)__call($name, $args) 中的 $args 是干嘛使得
4 回答?__call($name,$args)這兩個參數(shù)分別代表什么?
3 回答這里的 $name 和$args 分別代表什么 真心不懂
2 回答重載函數(shù)里面的$args有什么用?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-12-10
<?php
class Car {
? ? public $speed = 10;
? ? //在這里使用重載實現(xiàn)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'); //調(diào)用不存在的speedDown方法
echo $car->speed;
請看改過的這段代碼?$args其實就是傳遞的參數(shù)個數(shù)。這里傳遞$car->speedDown('speedDown','223e');兩個參數(shù)($car->speedUp(); 這樣寫也行 但是只能傳遞一個參數(shù))所以在__call函數(shù)里判斷
?$num=count($args); ?
? ? ? ? ? ? if($num==2){ ?
得到正確的結(jié)果 如果只傳遞一個參數(shù) 那么$arg的值就是1
2016-10-30
name為方法名,args形式是數(shù)組這里是參數(shù)數(shù)組。調(diào)用不存在的方法speedDown過程中,自動調(diào)用__call()方法,并且以數(shù)組的形式傳遞被調(diào)用的不存在的方法的多個參數(shù)。
2016-10-30
傳遞進來的參數(shù)吧。