我有一个二维数组,称之为BASE。 现在,我想用一个foreach循环遍历此数组,每次将当前选定的数组推入一个新数组。
foreach($BASE as $array){
$newarray = [];
array_push($newarray, $array);
$newarraylength = count($newarray[0])
//some more code
}
这样,我想要完成能够在嵌套在此foreach循环内的for循环内的推入数组上进行迭代的过程,像这样
for(index = 0; index < $newarraylength; $index++){
newarray[0][index]
}
但是,当将BASE数组中的数组推入新数组时,该新数组由于某种原因变为三维Oo 因此,上面的语法不起作用。
因此,请你们中的任何一个告诉我如何处理遍历此三维数组的循环。因为我的头无法设法解决这个问题。 或有人请告诉我如何将一维数组推入另一个一维仍为空的数组中,而不创建一个三维数组。
答案 0 :(得分:0)
我相信您想要做的是:
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')
)
);
答案 1 :(得分:0)
您基本上想要实现的目标是:
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
}
}
但可以使用两个嵌套的foreach
foreach($BASE as $array){
foreach($array as $key=>$value){
}
}
请记住,第一种方法仅适用于非关联数组...