未定义的变量:

时间:2016-02-29 17:28:17

标签: php swiftmailer

我目前正试图找出PHP。但是我一直遇到一些错误。

这是我的PHP代码行,有两个错误: 1)未定义的变量:缺失 2)in_array()期望参数2是数组 我最好的猜测是缺少的变量($ missing)会丢失但是我将它定义在它上面。 错误在行中:if(!in_array($ email,$ missing))

foreach ($_POST as $key => $value) {
    if (in_array($key, $expected)) {
        if (!is_array($value)) {
            $value = trim($value);
        }

        if (empty($value) && in_array($key,$required)) {
            $$key = '';
            $missing[] = $key;
        } else {
            $$key = $value;
        }
    }
}

if (!in_array($email, $missing)) {
    $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
    if (!$email){
        $errors['email'] = 'use a valid mail address';
    }
}

1 个答案:

答案 0 :(得分:0)

1)Undefined variable: missing

是的,您已定义它,但仅限于代码的一个分支。你不能保证它的存在。很明显,当你的变量没有被定义时你需要先处理它,然后再尝试使用它。

2)in_array() expects parameter 2 to be array

正如错误所说,你需要100%确定你的第二个参数确实是一个数组并定义了。