【问题标题】:php associative array class variablesphp关联数组类变量
【发布时间】:2026-01-09 13:25:01
【问题描述】:

所以我有这门课

class A{

  public $something['aaa'] = 'soemthing';

}

然后它抱怨有语法错误....

如何在 PHP 中将类变量设置为关联数组?

【问题讨论】:

    标签: php oop class object


    【解决方案1】:

    不能说我说得对.. 但你可能必须在构造函数中声明它:

    class A{
    
      public $something; // or $something = array();
    
      function __construct($something){
         $this->something['aaa'] = $something;
      }
    
    }
    

    【讨论】:

      【解决方案2】:

      这很奇怪。我不认为这是无效的语法,但它最终会引发错误。也许解析器只是不具备处理以这种方式初始化的属性的能力。当我尝试以下等效初始化时,它似乎工作得很好:

      <?php
      class A {
        public $something = array("aaa" => "something");
      }
      ?>
      

      【讨论】:

      • 开篇文章中的语法本身并不是无效的,但它并不完整。它将值 'soemthing' 分配给数组 $something 中的键 'aaa'... 但没有任何地方将 $something 声明为数组。在您的代码中,您明确将 $something 声明为一个数组,并同时分配了该 key => 值,但重要的部分是声明。