我目前正试图找出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';
}
}
答案 0 :(得分:0)
1)Undefined variable: missing
是的,您已定义它,但仅限于代码的一个分支。你不能保证它的存在。很明显,当你的变量没有被定义时你需要先处理它,然后再尝试使用它。
2)in_array() expects parameter 2 to be array
正如错误所说,你需要100%确定你的第二个参数确实是一个数组并定义了。