PHP、__get() 方法和数组参数

标签 php

我想实现这样的效果:

class Foo {
   public $bar; // array('aaa' => array('bbb' => 'ccc'))
   public function __get($value)
   {
      return $this->bar[...][key($value)]; // don't know what to implement here
   }
}

$obj = new Foo();
$obj->aaa['bbb']; // should return 'ccc'

这可能吗?我该怎么做?

如果我想以这种方式调用它,如何从 __get() 方法内部获取 Foo::$bar 数组的“ccc”值?

最佳答案

试试这个:

<?php
class Foo {
    public $bar = array('aaa' => array('bbb' => 'ccc'));
    public function __get($value) {
        return $this->bar[$value];
    }
}

$obj = new Foo();
echo $obj->aaa['bbb'];

将返回:

ccc

关于PHP、__get() 方法和数组参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628435/

相关文章:

php - Mac CLI PHP ini 文件位置

php - 意外的 T_VARIABLE,期待 T_FUNCTION

php - 使用 PHP 将 MySQL 条目的年龄截断为最接近的时间单位

php - 有什么方法可以从 MySQL 执行 PHP 脚本吗?

php - 为参数更改的函数编写注释 block

PHP MYSQL 多个或单个 DISTINCT/UNIQUE 值

php - 烘焙模型 - CakePHP - Ubuntu

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 将 Sylius Bundles 安装到 Symfony 2.4 时出现 Composer 依赖错误

javascript - 联系表格和 PHP