检查用户是否已填写字段的更简单方法


Easier way to check if user has filled in a field?

如果用户没有填写表单的一个或多个区域,我会尝试向他们回显消息,但似乎有点过于密集,必须放入大量else if语句,如下所示:

else if(empty($email) &&!empty($phone) &&!empty($username) &&!empty($password)) {
  echo '<span style="color:red">* You must enter a email</span>';   
} else if (!empty($email) &&empty($phone) &&!empty($username) &&!empty($password)) {
  echo '<span style="color:red">* You must enter a Phone Number</span>';

它们是不是比必须执行一百万条else if语句更容易检查多个输入的方法?

这是一种更干净的方法。

$fields = array(
    array(
        'value' => $email,
        'label' => 'Email'
    ),
    array(
        'value' => $phone,
        'label' => 'phone number'
    ),
    array(
        'value' => $username,
        'label' => 'username'
    ),
    array(
        'value' => $password,
        'label' => 'password'
    ),
);
foreach ($fields as $field) {
    if (empty($field['value'])) {
        // do something with $field['label']
    }
}