我有一个简单的函数:
function myFunction($this){
var_dump($this);
}
输出如下:
object(MyClass)#810 (20) {
["course_id"]=>int(43)
// ...more properties
}
但是,如果我尝试访问对象上的"course_id",则没有输出:
var_dump($this->course_id);
在类定义中,course_id
是public的:
class MyClass extends AnotherClass {
public $course_id = 0;
}
我做错了什么?谢谢:)
这是因为您使用的名称$this
是一个伪变量,当从对象上下文中调用方法时可用,但您不是在对象上下文中调用它,您是从函数上下文中调用它。
修改参数名就可以了:
class MyClass {
public $course_id = 0;
}
function myFunction($temp) {
var_dump($temp->course_id);
}
$test = new MyClass();
myFunction($test);