我有一个问题。假设我有一个数组的形式:
Array
(
[0] => Array
(
[0] => Array
(
[A] => Array
(
[id] => 1
[firstname] => John
[lastname] => Smith
[email] => jsmith@gmail.com
)
[B] => Array
(
)
)
)
[1] => Array
(
[0] => Array
(
[A] => Array
(
[id] => 2
[firstname] => Tommy
[lastname] => Tom
[email] => ttom@gmail.com
)
[B] => Array
(
)
)
)
)
我如何用内部数组的索引替换外部数组的索引,以获得这样的数组:
Array
(
[0] => Array
(
[A] => Array
(
[id] => 1
[firstname] => John
[lastname] => Smith
[email] => jsmith@gmail.com
)
[B] => Array
(
)
)
[1] => Array
(
[A] => Array
(
[id] => 2
[firstname] => Tommy
[lastname] => Tom
[email] => ttom@gmail.com
)
[B] => Array
(
)
)
)
提前感谢!
对于您的特定情况,另一个选项可能很简单:
$out = array_map('reset', $in);
您必须循环遍历数组,并根据内部值创建一个新数组。
$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
获取中级数组中第一个元素的值,并将其应用为新数组的值)。
//$array is your array
foreach($array as $key=>$value)
{
$new_array[] = $array[$key];
}