获取和设置Php类属性

时间:2017-01-06 04:51:53

标签: php arrays

我有以下代码。

<script>
    alert("{{env.key}}")
</script>

但是当执行这个脚本时,我得到了以下错误   致命错误:在第5行的写入上下文中不能使用方法返回值

我相信可以像上面那样向数组中添加一个元素。

<?php
class Reg {
    private $pros = array();
    public function __set($key,$val) {
        $this->pros($key)= $val;
    }

    public function __get($key) {
          return $this->pros($key);
    }     
}
$reg= new Reg;
$reg->tst="tst";
echo $reg->tst;
?>

请说清楚我错了。
感谢

2 个答案:

答案 0 :(得分:0)

这是因为您正在尝试设置函数返回值。 $this->pros($key)表示调用pros($key)函数。没有为$pros数组设置值。

语法错误。将值设置为array为 -

$array['index'] = 'value';

更改

$this->pros($key)= $val; - &gt; $this->pros[$key]= $val;

return $this->pros[$key];

Working code

答案 1 :(得分:0)

$this->pros[$key] = $value;

OR

$keys = array($key);
$this->pros = array_fill_keys($keys,$value);

array_fill_keys()函数使用值填充数组,指定键。

语法:

array_fill_keys(keys,value);