PHP 多文本框数组开机自检


<form method="post">
<?php
for($i = 1; $i <= 1000; $i++)
{
for($j = 1; $j <= 100; $j++)
{
echo "<input type="text" name="text" . $j . "[]" value="" . ($i * $j) . "" />";
}
}
?>
<input type="submit" />
</form>

为什么发布 10 行时只输出 1000 行? 已经在php.ini中设置了所有变量,例如input_max_varmax_execution_timemax_post_limit等...

输出

Array
(
[text1] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
)
[text2] => Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
[5] => 12
[6] => 14
[7] => 16
[8] => 18
[9] => 20
)
.
.
.
[text100] => Array
(
[0] => 100
[1] => 200
[2] => 300
[3] => 400
[4] => 500
[5] => 600
[6] => 700
[7] => 800
[8] => 900
[9] => 1000
)
)
memory_limit = -1
post_max_size = 1G
max_execution_time = -1
max_input_time = -1
max_input_vars = -1
suhosin.post.max_vars = -1
suhosin.request.max_vars = -1

因此,页面上有 100 000 个输入,但它们的名称无效 - 页面上有重复项。它应该是$i$j的组合

<form method="post">
<?php
for($i = 1; $i <= 1000; $i++)
{
for($j = 1; $j <= 100; $j++)
{
echo "<input type="text" name="text" . ($j * $i) . "[]" value="" . ($i * $j) . "" />";
}
}
?>
<input type="submit" />
</form>

最新更新