无法在PHP中访问public var

not*_*yle 2 php

我无法从PHP7中同一个类中声明为public的方法访问变量,到目前为止,我有以下内容:

    class H  {

        public $Q=array();

        public function __construct(){
            parent::__construct();          
            $Q[]="SELECT";
        }
        private function sas(){
            if(isset($_REQUEST['n']) && $_REQUEST['n']!=""){
                $q=$this->query($_REQUEST['n']);
            }
        }
        private function query($n){
            if($n==="a")
                return $Q[0];
        }
     }
Run Code Online (Sandbox Code Playgroud)

在调用后,sas()我收到以下错误消息<b>Notice</b>: Undefined variable: Q in <b>C:\xampp\apache\apps\a.php</b> on line <b>66</b><br />.请帮忙!!

Jon*_*vey 5

根据@ Rizier123的评论$Q需要$this->Q.要访问数组的第一个元素,请使用$this->Q[0].每次访问类中的公共变量(或任何其他实例变量)时,您都需要指定$this以引用当前对象.