我越来越: 3警告(非法抵消类型isset或空的...) 3通知书(未定义指数:...)的foreach和数组地图错误
3个警告realated与第一个foreach。 3通知与第二个foreach循环有关。
我真的不明白我在做什么错... 需要一些帮助在这里。
<form name="form" action="index.php" method="POST">
<input type="text" name="name" value="<?php if (isset($_POST['name'])) { echo $_POST['name']; } ?>" />
<input type="text" name="age" value="<?php if (isset($_POST['age'])) { echo $_POST['age']; } ?>" />
<input type="text" name="email" value="<?php if (isset($_POST['email'])) { echo $_POST['email']; } ?>" />
<input type="submit" />
</form>
<?php
$expected = array(
'name' => array("filter" => FILTER_SANITIZE_STRING),
'age' => array("filter" => FILTER_SANITIZE_NUMBER_INT),
'email' => array("filter" => FILTER_SANITIZE_EMAIL)
);
foreach ($expected AS $key => $value) {
if (!isset($_POST[$value])) {
echo "not set";
} elseif (empty($_POST[$value])) {
echo "empty";
}
}
$result = filter_input_array(INPUT_POST, $expected);
foreach ($result AS $key => $value) {
if (!$result[$value]) {
echo "not valid value";
}
}
?>
谢谢大家。
什么是错误的结果,并且能有什么办法? – Ryan
在'foreach'中,你为什么期望'$ key'既是一个值又是一个关键? – DCoder
我希望循环遍历第一个foreach中的数组,并在将值赋给$ expected数组索引之前验证$ _POST索引是否为空/空...如果成功,我想分析值并验证是否有效。 – obinoob