我尝试定义一个数组,但是虽然已经阅读了所有的建议,但执行时仍然会收到错误通知。
我的表单包含其他所有内容,字段min,用于定义
中的textareas数量<input type="text" name="min[1]">
我的PHP文件有:
<?php
$min = $_POST['min'];
$area = array();
for($j=1; $j=<$length; $j++) {
if($_POST['row'][$j] != "") {
if(($_POST['min'][$j])!="") {
for($k=1;$k<=$min[$j];$k++) {
$area[$j] .= '<textarea name="label'.$j.$k.'" rows="3"' ></textarea>';
}}
if(($_POST['min'][$j])=="") {
$area[$j] = '<textarea name="label'.$j.$k.'" rows="3"'" ></textarea>';
}
$blah .= $j.') '.$row[$j].'<br/>'.$area[$j].'<div id="inner'.$j.'"></div><br/><br/>';
}}
我可以看到问题出在数组中,因为脚本试图找到不存在的键。所以如何提前确定这一点......这是有效的,但它没有解决方案,因为你可以:
$area = array("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",);
答案 0 :(得分:1)
在检查其值之前,您需要检查该数组元素是否存在。
更改
if(($_POST['min'][$j])!="") {
到
if(isset($_POST['min'][$j]) && $_POST['min'][$j])!="") {
答案 1 :(得分:0)
$length
未初始化...
在PHP中,第一个数组索引是0。
您可以使用foreach
运算符迭代数组。
如果您在$_POST['min']
中复制$min
,请使用它。停止使用$_POST['min'
]令人困惑。