PHP同一类内访问受保护变量报错:未定义变量问题求助
解决类方法中访问受保护变量的“Undefined variable”错误
嗨,这个问题其实很容易搞定——你在类的方法里直接用$program_owner_id时,PHP会把它当成局部变量,但你根本没在这个方法里定义这个局部变量,所以才会抛出“Undefined variable”的报错。
要访问类内部的成员变量(不管是protected、public还是private修饰的),必须用$this关键字来引用当前类的实例,这样PHP才会明白你要访问的是类的属性,而不是临时的局部变量。
修正后的代码如下:
<?php class userController extends Controller { protected $program_owner_id = array (); // 受保护的类属性 public function mappingUserToRequest() { print_r($this->program_owner_id); // 使用$this->访问类属性 } } ?>
另外提个小细节:你报错信息里写的是project_owner_id,但代码里定义的是program_owner_id,如果这是笔误的话,记得保持变量名一致哦。
内容的提问来源于stack exchange,提问作者user3386779
相关产品推荐
相关产品推荐

