Php 根据用户输入更改二维数组的大小
是否可以根据用户输入生成二维数组 例如,我目前有一个大小为2x2的数组,我编写如下:Php 根据用户输入更改二维数组的大小,php,arrays,multidimensional-array,dynamic,Php,Arrays,Multidimensional Array,Dynamic,是否可以根据用户输入生成二维数组 例如,我目前有一个大小为2x2的数组,我编写如下: <?php $matrix = array( array($a, $b), array($c, $d) ); ?> 这与我需要的非常接近。假设您知道如何将html表单中的数据发布回服务器,处理请求的php代码可能如下所示。您的问题似乎归结为如何对动态大小的二维数组(矩阵)进行编码 创建嵌套的for循环。内部for循环通过在每行($this\u row
<?php
$matrix = array(
array($a, $b),
array($c, $d)
);
?>
这与我需要的非常接近。假设您知道如何将html表单中的数据发布回服务器,处理请求的php代码可能如下所示。您的问题似乎归结为如何对动态大小的二维数组(矩阵)进行编码 创建嵌套的for循环。内部for循环通过在每行(
$this\u row
)上追加项目来构建每一行:$this\u row[]=rand($min,$max)
,然后将每一新行追加到$matrix
数组中
请记住,rand
函数和$min
和$max
变量在以下示例中未定义。您需要定义它们
<?php
$num_cols = filter_input(INPUT_POST, 'columns', FILTER_VALIDATE_INT);
$num_rows = filter_input(INPUT_POST, 'rows', FILTER_VALIDATE_INT);
$matrix = array();
for ( $j = 0; $j < $num_rows; $j ++ ) {
$this_row = array()
for ( $k = 0; $k < $num_cols; $k ++ ) {
$this_row[] = rand($min, $max);
}
$matrix[] = $this_row;
}
//now you have your matrix
?>
您从哪里获得变量?请参见编辑,谢谢您可能需要一些文本或解释,这样就不仅仅是一堆代码了。
<?php
$matrix = array(
array($a, $b, $c),
array($d, $e, $f),
array($g, $h, $i)
);
?>
<?php
$a = rand($min, $max);
$b = rand($min, $max);
$c = rand($min, $max);
$d = rand($min, $max); etc etc
?>
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
$num_cols = filter_input(INPUT_POST, 'columns', FILTER_VALIDATE_INT);
$num_rows = filter_input(INPUT_POST, 'rows', FILTER_VALIDATE_INT);
$matrix = array();
for ( $j = 0; $j < $num_rows; $j ++ ) {
$this_row = array()
for ( $k = 0; $k < $num_cols; $k ++ ) {
$this_row[] = rand($min, $max);
}
$matrix[] = $this_row;
}
//now you have your matrix
?>