从php类中的数组获取数据

从php类中的数组获取数据,php,class,Php,Class,我有这个密码 如何从isAuth()获取$arr['account']?我想你要找的更像这样 class rame { private $arr=Array(); public function func() { $this->arr =array( "pir"=>"pirveli", "me"=>"meore", "mes"=>"mesame"

我有这个密码


如何从
isAuth()
获取
$arr['account']

我想你要找的更像这样

class rame
{
    private $arr=Array();
    public function func()
    {
        $this->arr =array(
            "pir"=>"pirveli",
            "me"=>"meore",
            "mes"=>"mesame"
        );
        echo $this->arr['pir'];
    }
}

$r = new rame();
$r->func();

您正在正确访问它,但您的
if
条件错误。您正在检查数组是否为空,因此不会进入
else
部分。删除
操作员:

if (empty($this->auth)) { 
    return true;
} else {
    return $this->auth['account'];
}
return empty($this->auth) ? true : $this->auth['account'];
看到它在输出打开的情况下运行吗

或者,使用三元运算符:

if (empty($this->auth)) { 
    return true;
} else {
    return $this->auth['account'];
}
return empty($this->auth) ? true : $this->auth['account'];
注意:当数组为空时,是否确实要返回
true
?返回空字符串,
false
null
似乎更合理

要真正看到结果,您必须:

  • 分配给
    $this->auth
    (不像注释中的其他示例那样分配给
    $auth
  • 创建类的实例
  • 调用方法
    isAuth
  • 输出返回的值

  • 如果您想访问函数
    func()
    中的数组,我建议您只使用
    $rame
    。实际上我的代码很大,数组位于其他函数中,我无法直接获取$rame,只能使用$this->rameNo。我尝试删除if条件,只返回$this->auth['account'];但是没有输出,你一定是用错误的方式调用它,因为我把代码放在你的问题中,应用了更正,添加了一个调用,它输出了数据。此外,您在该函数中没有输出任何内容,只是返回。请检查如何获得输出。为什么您希望输出任何内容?(1) 在方法中,您没有向
    $this arr
    分配任何内容,(2)您从未实例化该类,(3)您从未调用
    isAuth
    ,(4)您从未打印结果?更正如下:别忘了。