你可以把这个字符串:PHP - 从分隔字符串使多维关联数组
"package.deal.category"
到像这样的数组:
$array['package']['deal']['category']
在这一点上的索引中的值可以做任何事情。
你可以把这个字符串:PHP - 从分隔字符串使多维关联数组
"package.deal.category"
到像这样的数组:
$array['package']['deal']['category']
在这一点上的索引中的值可以做任何事情。
What have you tried?对此的绝对答案非常简单:
$keys = explode('.', $string);
$array = array();
$arr = &$array;
foreach ($keys as $key) {
$arr[$key] = array();
$arr = &$arr[$key];
}
unset($arr);
......但为什么这对你有用?
谢谢,@tandu!我承认,如果我花时间看问题的话,我可能可以解决这个问题。除非我绝对需要,否则我几乎不会在这里提问。看完你的解决方案之后,我有一个“当然是这样”的时刻。这有一个用处,但我相信这是一个完全不同的讨论。 – JayNCoke 2012-03-09 01:14:56
我不太明白,这是什么问题?
$parts = explode('.', $string);
$array = array();
while (!empty($parts)) {
$array = array(array_pop($parts) => $array);
}
试试这个:
$text = 'package.deal.category';
$array = array();
foreach(array_reverse(explode('.', $text)) as $key) $array = array($key => $array);
print_r($array);
你的问题是有点混乱。 '$ array ['package'] ['deal'] ['category']'应该是什么值?你已经定义了一个索引来访问,但不是一个值。 – 2012-03-09 00:38:57
编辑该问题。抱歉。我更关心的是数组本身,而不是最底层的索引。 – JayNCoke 2012-03-09 00:44:50