我有一个关于将数组传递给函数的正确方法的问题
验证表单后,我得到一个与每个表单字段对应的错误数组。即。
$errors = array(
"First_Name" => "Missing first name",
"Email" => "Invalid email address",
...
)
为了显示这个错误,我创建了一个函数
function print_error_message($field, $errors) {
if($errors[$field])
echo '<span class="error-msg">' . $errors[$field] . '</span>';
}
我在每个html字段后调用此函数来检查此字段是否有错误:
<input name="First_Name" value="<?php echo $First_Name ?>" />
<?php print_error_message("First_Name", $errors) ?>
...
所以,由于我有很多表单字段和很多错误,每次调用函数时传递'$ errors'数组都是一个好习惯。或者我应该使用global
还是通过引用传递?
答案 0 :(得分:0)
按照你这样做的方式做到这一点很好。当然不要使用全局变量,也不需要通过引用传递。
而不是if($errors[$field])
,您可以使用if (array_key_exists($field, $errors))
。