Php 数组索引操作
我有个问题。假设我有一个数组的形式:Php 数组索引操作,php,arrays,cakephp,multidimensional-array,Php,Arrays,Cakephp,Multidimensional Array,我有个问题。假设我有一个数组的形式: Array ( [0] => Array ( [0] => Array ( [A] => Array ( [id] => 1 [firstna
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
(
)
)
)
提前谢谢 必须循环遍历数组,并基于内部值创建新数组
//$array is your array
foreach($array as $key=>$value)
{
$new_array[] = $array[$key];
}
$in_array = <your array>;
$out_array = Array();
foreach($in_array as $k => $v) {
$out_array[$k] = array_shift($v);
}
$in_数组=;
$out_array=array();
foreach($k=>v){
$out_数组[$k]=数组移位($v);
}
这里,
$out\u array[$k]
保留原始顶级数组键,array\u shift($v)
表示为值挖掘一个级别(使用array\u shift
获取中间级别数组中第一个元素的值,并将其应用为新数组的值).您必须循环遍历数组,并根据内部值创建一个新数组
$in_array = <your array>;
$out_array = Array();
foreach($in_array as $k => $v) {
$out_array[$k] = array_shift($v);
}
$in_数组=;
$out_array=array();
foreach($k=>v){
$out_数组[$k]=数组移位($v);
}
在这里,
$out\u array[$k]
保留原始的顶级数组键,array\u shift($v)
表示为值挖掘一个级别(使用array\u shift
获取中间级别数组中第一个元素的值,并将其应用为新数组的值)。另一个选项,针对您的特定情况,可以简单到:
$out = array_map('reset', $in);
针对您的具体情况,另一种选择可能非常简单:
$out = array_map('reset', $in);
我不知道为什么会有人对此投反对票,这对我来说似乎是一个合理的问题。我可以在两者中看到的区别是,第三级数组变成了第二级数组。你试过简单地说:
unusualArray[0]=unusualArray[0][0]
?我不知道为什么有人对此投了反对票,这对我来说似乎是一个合理的问题。我可以看到二者的区别是,第三级数组变成了第二级数组。你试过简单地说:unusualray[0]=unusualray[0][0]
?+1,好主意!Ruby是我的主要语言,我真的应该想到这个=)。+1,好主意!Ruby是我的主要语言,我真的应该想到这个=)。