【发布时间】:2017-07-14 05:52:29
【问题描述】:
是否可以根据用户输入生成二维数组?
比如我目前有一个大小为2x2的数组,我写的如下:
<?php
$matrix = array(
array($a, $b),
array($c, $d)
);
?>
如您所见,这个数组充满了变量。我的问题是,如果我有一个文本输入,用户可以在其中设置所需数组的参数,即
<p>The size of my Matrix will be:</p>
<p>Columns:<input type='text' name='columns'> Rows:<input type='text' name='rows'></p>
<input type='submit' value='Compile my Matrices!' name='submit'>
因此,如果用户输入了 3 列和 3 行 (3x3),我将如何创建一个与 2x2 示例格式相同的数组,以便动态输出数组为:
<?php
$matrix = array(
array($a, $b, $c),
array($d, $e, $f),
array($g, $h, $i)
);
?>
是否也可以在生成时用这些变量填充数组?
EDIT - 变量将在别处声明,即。
<?php
$a = rand($min, $max);
$b = rand($min, $max);
$c = rand($min, $max);
$d = rand($min, $max); etc etc
?>
其中 $min 和 $max 由其他参数设置。
EDIT2 - 经过一番折腾,我设法创建了一个矩阵,它可以遵循我需要的正确格式:
for ($i = 0; $i < 5; $i++) {
for ($j=0; $j < 5; $j++){
$matrix[$i][$j] = ('a' . $counter);
$counter++;
//echo $matrix[$i][$j] . ' ';
}
//echo '<br>';
}
这会产生一个格式数组:
a0 a1 a2 a3 a4
a5 a6 a7 a8 a9
a10 a11 a12 a13 a14
a15 a16 a17 a18 a19
a20 a21 a22 a23 a24
这很接近我的需要。
【问题讨论】:
-
你从哪里得到变量?
-
请看编辑,谢谢
标签: php arrays multidimensional-array dynamic