数组索引操作php
我在这里有一个问题。比方说,我有一种形式的数组:数组索引操作php
Array
(
[0] => Array
(
[0] => Array
(
[A] => Array
(
[id] => 1
[firstname] => John
[lastname] => Smith
[email] => [email protected]
)
[B] => Array
(
)
)
)
[1] => Array
(
[0] => Array
(
[A] => Array
(
[id] => 2
[firstname] => Tommy
[lastname] => Tom
[email] => [email protected]
)
[B] => Array
(
)
)
)
)
我怎样才能通过内部数组的索引,以便更换外数组的索引有一个这样的数组:
Array
(
[0] => Array
(
[A] => Array
(
[id] => 1
[firstname] => John
[lastname] => Smith
[email] => [email protected]
)
[B] => Array
(
)
)
[1] => Array
(
[A] => Array
(
[id] => 2
[firstname] => Tommy
[lastname] => Tom
[email] => [email protected]
)
[B] => Array
(
)
)
)
提前致谢!
您必须遍历数组并根据内部值创建一个新数组。
$in_array = <your array>;
$out_array = Array();
foreach($in_array as $k => $v) {
$out_array[$k] = array_shift($v);
}
这里,$out_array[$k]
保持原始顶层数组键,和array_shift($v)
说向下挖掘的值(使用array_shift
取值在中等水平阵列中的第一元件中的一个电平,并应用它作为新数组的值)。
谢谢你,你救了我三个小时!!! – user765368 2012-01-16 16:45:09
很高兴为您效劳! – 2012-01-16 16:46:10
//$array is your array
foreach($array as $key=>$value)
{
$new_array[] = $array[$key];
}
另一种选择,为您的特定情况下,可以简单:
$out = array_map('reset', $in);
+1,好想法! Ruby是我的主要语言,我真的应该想到这个=)。 – 2012-01-17 00:31:00
不知道为什么有人downvoted这一点,似乎是一个合理的问题给我。 – 2012-01-16 16:37:41
我可以在两者中看到的区别是第三级数组成为第二级数组。你有没有试过简单地去:'不寻常的阵列[0] =不寻常的阵列[0] [0]'? – 2012-01-16 16:42:43