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

参照を使用する:

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 に答える
0

配列は public として定義できます。

public static $vars;

そして、直接アクセスできるようになります:

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