我是一个初学者,我有两组适用于表单的“if 语句”,它们几乎做同样的事情,但我想了解他们为什么这样做。当我打印错误并提交一个空表单时,第一个 if 语句会回显数组中的每个字段,并在每个字段旁边显示“需要”字样。至于第二个 if 语句,它只是回显“您没有填写所有类别”,如果与第一个 if 语句相呼应的特定字段为空,那么即使一个字段在表单中为空。Like if您可以逐步为我分解每组编码,那会很棒。你能推荐一个我可以学习语言的链接吗?谢谢!
<?php
if(isset($_POST['registrationform'])){
$required_fields = array('first_name', 'last_name', 'email', 'password', 'gender', 'month', 'day', 'year');
foreach ( $required_fields as $key=>$value) {
if (!isset($_POST[$value]) || $_POST[$value]=='') {
$errors[$value] =$key." is required";
}
}
}
print_r($errors);
?>
<?php
if (empty($_POST) === false) {
$required_fields = array('first_name', 'last_name', 'email', 'password', 'sex', 'birthday', 'terms_of_service');
foreach ($_POST as $key=>$value) {
if (empty($value) && in_array($key, $required_fields) === true) {
$errors[] = 'You didn\'t fill in all of the categories.';
break 1;
}
}
}
print_r($errors);
?>