【问题标题】:How to create associative array in PHP Class如何在 PHP 类中创建关联数组
【发布时间】:2019-09-30 00:03:56
【问题描述】:

这是我的语言课。是否可以创建如下数组?我试过了,但我的编译器抛出错误。如果它的外部类我可以创建该数组。但是为什么我不能在课堂上做同样的事情

不起作用

class Language{
    private $LANG = array();

    /*
    ERROR CODE
    1   DATABASE
    2   EMPTY USERNAME AND PASSWORD
    */

    //1   DATABASE
    $LANG[1]["TITLE"] = "DATABASE CONNECTION ERROR";
    $LANG[1]["MESSAGE"] = "PLEASE CONTACT YOUR ADMISTRATOR";

    //2   EMPTY USERNAME AND PASSWORD
    $LANG[2]["TITLE"] = "LOGIN ERROR";
    $LANG[2]["MESSAGE"] = "INVALID USERNAME OR PASSWORD";

    //3   EMPTY QUERY ERROR
    $LANG[3]["TITLE"] = "ERROR";
    $LANG[3]["MESSAGE"] = "UNABLE TO COMMUNICATE WITH SERVER";
}

有效

    private $LANG = array();

    /*
    ERROR CODE
    1   DATABASE
    2   EMPTY USERNAME AND PASSWORD
    */

    //1   DATABASE
    $LANG[1]["TITLE"] = "DATABASE CONNECTION ERROR";
    $LANG[1]["MESSAGE"] = "PLEASE CONTACT YOUR ADMISTRATOR";

    //2   EMPTY USERNAME AND PASSWORD
    $LANG[2]["TITLE"] = "LOGIN ERROR";
    $LANG[2]["MESSAGE"] = "INVALID USERNAME OR PASSWORD";

    //3   EMPTY QUERY ERROR
    $LANG[3]["TITLE"] = "ERROR";
    $LANG[3]["MESSAGE"] = "UNABLE TO COMMUNICATE WITH SERVER";

【问题讨论】:

标签: php


【解决方案1】:

首先。在方法之外的类定义中不能有代码。您需要将其包装在一个方法中。

第二。如果要对类实例的属性进行操作,则必须使用 this-> 关键字来表示。

所以你的代码看起来像:

class Language
{
    private $LANG = array();

    function __construct()
    {
        /*
        ERROR CODE
        1   DATABASE
        2   EMPTY USERNAME AND PASSWORD
        */

        //1   DATABASE
        $this->LANG[1]["TITLE"] = "DATABASE CONNECTION ERROR";
        $this->LANG[1]["MESSAGE"] = "PLEASE CONTACT YOUR ADMISTRATOR";

        //2   EMPTY USERNAME AND PASSWORD
        $this->LANG[2]["TITLE"] = "LOGIN ERROR";
        $this->LANG[2]["MESSAGE"] = "INVALID USERNAME OR PASSWORD";

        //3   EMPTY QUERY ERROR
        $this->LANG[3]["TITLE"] = "ERROR";
        $this->LANG[3]["MESSAGE"] = "UNABLE TO COMMUNICATE WITH SERVER";
    }

    function getData()
    {
        return $this->LANG;
    }
}

$lang = new Language();
var_dump($lang->getData());

您可以在文档中了解更多信息:https://www.php.net/manual/en/language.types.object.php

编辑: 在这里演示https://3v4l.org/qVtD9

【讨论】:

  • 只是在做这个代码的演示......你应该把它添加到你的答案中:3v4l.org/qVtD9
猜你喜欢
  • 1970-01-01
  • 2016-05-11
  • 2012-04-30
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 2012-03-19
  • 2017-04-05
相关资源
最近更新 更多