Php 为什么数组“u push()”;“加深”;数组的深度?
我有一个二维数组,我们称之为基。 现在我想用foreach循环迭代这个数组,每次都将当前选择的数组推到一个新数组中Php 为什么数组“u push()”;“加深”;数组的深度?,php,Php,我有一个二维数组,我们称之为基。 现在我想用foreach循环迭代这个数组,每次都将当前选择的数组推到一个新数组中 foreach($BASE as $array){ $newarray = []; array_push($newarray, $array); $newarraylength = count($newarray[0]) //some more code } 通过这种方式,我希望能够遍历嵌套在这个foreach循环中的for循环中的push数组,如下所示 for(index =
foreach($BASE as $array){
$newarray = [];
array_push($newarray, $array);
$newarraylength = count($newarray[0])
//some more code
}
通过这种方式,我希望能够遍历嵌套在这个foreach循环中的for循环中的push数组,如下所示
for(index = 0; index < $newarraylength; $index++){
newarray[0][index]
}
for(索引=0;索引<$newarraylength;$index++){
newarray[0][index]
}
但是,当基本数组中的数组被推送到新数组中时,这个新数组由于某种原因变成了三维Oo
因此,上面的语法不起作用
你们中的任何一个人,请告诉我如何处理这个三维数组的循环。因为我的脑袋没有找到解决办法。
或者有人告诉我如何在不创建三维数组的情况下,将一维数组推入另一个一维的空数组。我相信您要做的是:
foreach($BASE as $array){
$newarray = [];
array_push($newarray, $array);
$newarraylength = count($newarray[0])
//some more code
}
你所做的就是推动整个二维数组。
因此,如果$BASE为:
array(
'1' => array('a', 'b'),
'2' => array('c', 'd')
)
然后将其推到$newarray将导致
$newarray =
array(
0 => array(
'1' => array('a', 'b'),
'2' => array('c', 'd')
)
);
你基本上想要实现的是:
foreach($BASE as $array){
$newarray = [];
array_push($newarray, $array);
$newarraylength = count($newarray[0])
//some more code
for(index = 0; index < $newarraylength; $index++){
//your code with newarray[0][index] here
}
}
请记住,第一种方法仅适用于非关联数组…您正在推送$BASE而不是$array…如果您只想复制数组,则不需要循环<代码>$newarray=$BASE代码>应该可以正常工作。如果需要重置键,可以使用
array\u值
。
foreach($BASE as $array){
foreach($array as $key=>$value){
}
}