我有一个PHP类如下:
Class ArrayStore{
static $storage = array();
public static set($key, $value){
//set value
}
public static get($key){
//return value
}
}
我想如何使用:
ArrayStore::set('["id"]["name"]["last"]', 'php');
ArrayStore::get('["id"]["name"]["last"]'); //should return php
ArrayStore::set('["multi"]["array"]', 'works');
ArrayStore::get('["multi"]["array"]'); //should return works
让我知道是否有更好的方法来设置和获得具有原因的多维数组。
编辑: 我试过这样的事情:
<?php
$x = array(1=>'a');
$op="\$x"."[1]";
$value=eval("return ($op);");
echo $value;//prints a.
?>
答案 0 :(得分:0)
从逻辑上你可以这样做:
<?php
class ArrayStore{
static $storage = array();
public static function set($key, $value){
self::$storage[$key] = $value;
}
public static function get($key){
return self::$storage[$key];
}
}
ArrayStore::set('["id"]["name"]["last"]', 'php');
echo ArrayStore::get('["id"]["name"]["last"]'); //should return php
echo "<br>";
ArrayStore::set('["multi"]["array"]', 'works');
echo ArrayStore::get('["multi"]["array"]'); //should return works