我正在使用PHP创建一个包含字段数组的表单.基本上,您可以在表单中添加无限数量的"人",每个人都有名字,姓氏和电话号码.表单要求您仅为第一个人添加电话号码.如果您将电话号码字段留空,则应将处理程序文件编程为使用第一个人的电话号码.
所以,我的领域是:
person[] - 隐藏字段,其值为此人的主键.
fname[] - 输入字段
lname[] - 输入字段
phone[] - 输入字段
我的表单处理程序如下所示:
$people = $_POST['person']
$counter = 0;
foreach($people as $person):
if($phone[$counter] == '') {
// use $phone[0]'s phone number
} else {
// use $phone[$counter] number
}
$counter = $counter + 1;
endforeach;
Run Code Online (Sandbox Code Playgroud)
PHP虽然不喜欢这样,但却让我失望了
Notice: Uninitialized string offset error.
Run Code Online (Sandbox Code Playgroud)
我通过在people,fname,lname和phone上运行is_array函数来调试它,它返回true作为数组.我也可以手动回显$ phone [2]等,并获得正确的值.我还在$ counter变量上运行了is_int,它返回true,所以我不确定为什么这不能按预期工作?
任何帮助都会很棒!