【问题标题】:PHP: set class array properties with a string as the propertynamePHP:使用字符串作为属性名设置类数组属性
【发布时间】:2011-08-26 21:04:53
【问题描述】:

我有一个属性是数组的类:

  class NewObject {
    public $Props = array();
  }

  $obj = new NewObject();

  $obj->Props[0] = 'a';
  $obj->Props[1] = 'b';

现在我想更改 Props 的值,不是直接更改,而是使用变量“propertyname”: 这确实适用于单个字符串属性,但不适用于数组,因为键 N 被解释为 STRING 'Props' 的第 N 个字母,而不是数组中的第 N 个值!

  $propertyname = 'Props';

  $obj->$propertyname[0] ='c';   //doesnt work as expected, it tries to set $obj->P now, it seems
  $obj->$propertyname[1] ='d';

有什么办法解决这个问题?

【问题讨论】:

    标签: php arrays class properties


    【解决方案1】:
    $obj->{$propertyname}[0] ='c';
    

    【讨论】:

    • 谢谢...我知道 accolade 的事情,但只在双引号字符串中你想使用变量...以前从未见过这样的...
    猜你喜欢
    • 2014-02-08
    • 1970-01-01
    • 2020-10-28
    • 2012-10-13
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2014-04-11
    相关资源
    最近更新 更多