PHP设置并获取多维数组值

时间:2017-06-14 11:35:39

标签: php arrays oop

我有一个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.
?>

1 个答案:

答案 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