【问题标题】:PHP array in class generated in function [closed]函数中生成的类中的PHP数组[关闭]
【发布时间】:2012-02-10 08:20:54
【问题描述】:

我正在处理的脚本遇到问题:我需要将在 query_person() 函数中通常生成的数组保存在 protected static $users 中,以便在整个脚本中使用。这只是我做的一个快速测试,通常数组是由查询生成的。 如果我这样做,脚本就可以工作:

protected static $users = array('paul' => array('p_gebruikersnaam' => "paul", 'p_wachtwoord' => "de3c41cc7918c25822f1fb840a86a84b", 'p_id' => "10000000", 'p_md5' => "d1ca3aaf52b41acd68ebb3bf69079bd1")
);

但由于数组是由 db 查询生成的,所以我不得不将查询放在一个函数中,但它不能像这样工作:

protected static $users = array();

public function query_personen(){   
$users = array('paul' => array('p_gebruikersnaam' => "paul", 'p_wachtwoord' => "de3c41cc7918c25822f140a86a84b", 'p_id' => "100000", 'p_md5' => "d1ca3aaf52b41acd68e9079bd1")
);
}

如何使它工作,以便第二个脚本生成与第一个脚本相同的输出?

【问题讨论】:

  • 在你的函数中应该是 self::$users 而不是 $users

标签: php arrays class function


【解决方案1】:
public function query_personen(){   
$this->users = array('paul' => array('p_gebruikersnaam' => "paul", 'p_wachtwoord' => "de3c41cc7918c25822f140a86a84b", 'p_id' => "100000", 'p_md5' => "d1ca3aaf52b41acd68e9079bd1")
);

您需要使用$this 来引用该对象。

如果你希望它是静态的,你应该使用:

public static function query_personen(){   
self::$users = array('paul' => array('p_gebruikersnaam' => "paul", 'p_wachtwoord' => "de3c41cc7918c25822f140a86a84b", 'p_id' => "100000", 'p_md5' => "d1ca3aaf52b41acd68e9079bd1")
);

请注意,第二个函数是 static 函数(示例中不是您的函数,因此您应该使用第一个版本)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-19
    • 2014-06-29
    • 1970-01-01
    • 2019-01-02
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多