【发布时间】:2011-10-23 15:09:19
【问题描述】:
我无法找到一种方法来简单地解析字符串输入并在多维数组中找到正确的位置。
我希望用一两行代码来做到这一点,因为我看到的解决方案依赖于长(10-20 行)循环。
给定以下代码(请注意,嵌套可以在理论上具有任意深度):
function get($string)
{
$vars = array(
'one' => array(
'one-one' => "hello",
'one-two' => "goodbye"
),
'two' => array(
'two-one' => "foo",
'two-two' => "bar"
)
);
return $vars[$string]; //this syntax isn't required, just here to give an idea
}
get("two['two-two']"); //desired output: "bar". Actual output: null
是否可以简单地使用内置函数或其他简单的方法来重新创建我想要的输出?
【问题讨论】:
-
不要将“无限”与“任意大”混淆。没有无限的自然数,但有任意大的自然数。
-
get("two['two-two']")比$vars['two']['two-two']好多少? -
建议的语法是必需的吗?
get(array('two', 'two-two'));怎么样? -
恕我直言,这个问题表明你有一个严重的设计问题。
-
@David Chan,感谢您的意见。你能详细说明一下吗?
标签: php arrays string multidimensional-array