0

我有一个带有方法的 PHP 注册表类

public static function get($key) {
    return isset(self::$vars[$key]) ? self::$vars[$key] : null;
}

public static function set($key, $value = null) {
        self::$vars[$key] = $value;
}

问题是我希望能够设置和获取嵌套数组,就像我通常会这样做:

$array['a']['b'] = 'somevalue';
$myvalue = $array['a']['b'];

有任何想法吗?

4

2 回答 2

0

该数组可以定义为公共的:

public static $vars;

然后你就可以直接访问了:

ClassName::$vars['a']['b'] = 'somevalue';
$myvalue = ClassName::$vars['a']['b'];
于 2013-08-09T08:38:04.127 回答
0

使用参考:

Storage::set("test", array('foo' => 'bar'));
$test = &Storage::get("test");
echo $test['foo']."\n"; // bar

$test['foo'] = "foobar";
$test2 = Storage::get("test");;
echo $test['foo']; // foobar

另请参阅此示例 phpfiddle

于 2013-08-09T08:55:48.213 回答