我想从这个嵌套的for循环
创建一个数组for($i = 0; $i < 2; $i++){
for($j = 0; $j < 3; $j++){
$dis = $i + $j;
createArr($dis, $i);
}
echoArr($i);
}
为此,我创建了一个名为createArr()的函数,它接收$ dis和$ i迭代器。
$arr= array();
function createArr($dis, $i){
$arr= 'arr'.$i;
array_push($arr, $dis);
return $arr;
}
在嵌套for循环$ i = 0的第一次迭代期间,我希望$ arr成为此示例中数组的名称。因此,我希望使用array_push函数将数组的名称设为$arr0
在$ i = 0时推送$ j的所有元素然后在$ i的第二次迭代时存储到另一个数组中,当它从$arr1
开始时,将该数组的新元素推送到$ j的迭代中当$ i = 1时;
function echoArr($i){
$arr= 'arr'.$i;
return $arr;
}
这最后一个函数是在完成$ i的迭代后回显完成的数组。
答案 0 :(得分:0)
我不确定你的期望
$arr= 'arr'.$i;
array_push($arr, $dis);
要做,但array_push期望第一个参数是数组, 但是你可以看到$ arr是一个字符串。
这是你需要的吗?
$arr = array();
for($i = 0; $i < 2; $i++){
for($j = 0; $j < 3; $j++){
$dis = $i + $j;
array_push($arr, createArr($dis, $i));
}
echoArr($i);
}
function createArr($dis, $i){
return array('arr'.$i => $dis);
}
print_r($arr);
//prints: Array ( [0] => Array ( [arr0] => 0 ) [1] => Array ( [arr0] => 1 ) [2] => Array ( [arr0] => 2 ) [3] => Array ( [arr1] => 1 ) [4] => Array ( [arr1] => 2 ) [5] => Array ( [arr1] => 3 ) )
答案 1 :(得分:0)
你想要达到什么目的? 对于未来,请描述您希望实现的目标,以便我们能够帮助您更好地实现目标。
让我先从第一段代码开始
您想要回显数组。你只是在回应专栏。 为什么要构建自己的函数来向数组添加内容? 如果你对回报做点什么
$ myarray [$ i] = createArr($ key,$ value); //不是一个好的解决方案,只是为了解释。
因为我不知道你想要在这里实现一个数组循环的例子
$ myarray = array();
for($i = 0; $i < 2; $i++){
for($j = 0; $j < 3; $j++){
$dis = $i + $j;
$myarray[$i][$j] = 'row:' . $i . ' column' . $j;
}
}
var_dump($myarray);
和转储
array (size=2)
0 =>
array (size=3)
0 => string 'row:0 column0' (length=13)
1 => string 'row:0 column1' (length=13)
2 => string 'row:0 column2' (length=13)
1 =>
array (size=3)
0 => string 'row:1 column0' (length=13)
1 => string 'row:1 column1' (length=13)
2 => string 'row:1 column2' (length=13)