在php中检查数组值的输入
我在POST和GET中检查php中的所有输入,并在我的应用程序中将它们转换为html实体 但问题是,当我有多个相同名称的输入时(例如,多个复选框)。我的输入检查器使数组为空 我想检查POST和GET数组,我想检查其中所有同名的多个输入(即数组) 有人能给我推荐一段代码吗在php中检查数组值的输入,php,input,Php,Input,我在POST和GET中检查php中的所有输入,并在我的应用程序中将它们转换为html实体 但问题是,当我有多个相同名称的输入时(例如,多个复选框)。我的输入检查器使数组为空 我想检查POST和GET数组,我想检查其中所有同名的多个输入(即数组) 有人能给我推荐一段代码吗 // Input validation $_GET = array_map("input_check",$_GET); $_POST = array_map("input_check",$_POST); // Chec
// Input validation
$_GET = array_map("input_check",$_GET);
$_POST = array_map("input_check",$_POST);
// Check input strings
function input_check($arr)
{
return htmlentities($arr,ENT_QUOTES,'UTF-8');
}
递归!欢迎来到欢迎来到递归世界
array\u map()
将导致您丢失密钥,因此让函数处理所有问题
您需要检查并说明阵列:
// Input validation
$_GET = input_check($_GET);
$_POST = input_check($_POST);
// Check input strings
function input_check($arr)
{
if(is_array($arr))
{
// Since this value is an array we need to apply this
// function to each element inside the array and maintain
// the original keys
foreach($arr as $k=>$v)
{
$arr[$k] = input_check($v);
}
}
elseif(is_string($arr))
{
$arr = htmlentities($arr,ENT_QUOTES,'UTF-8');
}
return $arr;
}
不确定您是否看到了我的更新答案,但避免使用
array\u map()