为什么我会收到"意外的t_public"错误?

pan*_*ase 0 php php-parse-error

public function getUserRoles()
{
    public $query = "SELECT * FROM user_roles WHERE userID = ".floatval($this->userID)."ORDER BY addDate ASC";
    if ($query_run = mysql_query($query))
    {
        public $resp = array();
        while ($query_row = mysql_fetch_array($query_run))
        {
            $roleID = $query_row['roleID'];
        }
        return $resp;
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:解析错误:语法错误,第34行/Applications/XAMPP/xamppfiles/htdocs/acltut/assets/php/class.acl.php中的意外T_PUBLIC.在这种情况下,第34行将是第3行它说"公共$查询".

不应该给变量赋予"可见性"或"权限",如var/public/private/protected/etc.

如果是这种情况,那么下一行不一定要写成:

if (public $query_run = mysql_query($this->query)) {}
Run Code Online (Sandbox Code Playgroud)

我很困惑你何时必须包含public/private/protected并使用$ this->引用变量以及何时可以创建变量.

Mik*_*ell 6

public,protected和private为类函数(方法)和成员变量提供范围解析.你必须做类似的事情:

class User
{
    public $query;

    public function getUserRoles()
    {
        $this->query = "SELECT * FROM user_roles WHERE userID = ".floatval($this->userID)."ORDER BY addDate ASC";
    }
 }
Run Code Online (Sandbox Code Playgroud)