【发布时间】:2012-03-21 17:12:11
【问题描述】:
可能重复:
PHP convert nested array to single array while concatenating keys?
Get array's key recursively and create underscore seperated string
请在回答之前阅读整个问题。
我有这个多维数组:
$data = array(
'user' => array(
'email' => 'user@example.com',
'name' => 'Super User',
'address' => array(
'billing' => 'Street 1',
'delivery' => 'Street 2'
)
),
'post' => 'Hello, World!'
);
我想让它变平,变成:
$data = array(
'user.email' => 'user@example.com',
'user.name' => 'Super User',
'user.address.billing' => 'Street 1',
'user.address.delivery' => 'Street 2',
'post' => 'Hello, World!'
);
重要:
这些键对我来说非常很重要。我希望它们连接起来,用句点分隔。
它应该适用于任何级别的嵌套。
谢谢!
【问题讨论】:
-
有几个类似的问题,但我没有找到重复的。
-
确实有两个副本。问的时候不知道无论如何,对它们的所有答案(除了 meagar 的答案)都远不如现在在这里给出的答案……它们不必要地复杂(使用迭代器、全局变量、类等,当它可以像我们在这里看到的一样简单时) )。
标签: php arrays multidimensional-array flatten