0

配列を関数に渡す正しい方法について質問があります

フォームを検証した後、各フォーム フィールドに対応するエラーの配列を取得します。すなわち

$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または、参照渡しを使用する必要がありますか?

4

1 に答える 1

0

あなたがやっている方法でそれを行うことは問題ありません。確かにグローバルを使用しないでください。また、参照渡しも必要ありません。

の代わりにif($errors[$field])、 を使用できますif (array_key_exists($field, $errors))

于 2012-12-07T21:58:52.083 に答える