我创建了一个迭代$_GET
数组的函数,在验证数据后,为每个元素创建一个常量。但是,它只返回第一个常量。
function sanitize($key, $value){
$safe_types = array(
"month",
"year",
"course",
"pagetype",
"studentid"
);
if (in_array($key, $safe_types)) {
$key = strtoupper($key);
if (is_numeric($value) || preg_match("#^[a-z_]+#", $value)){
define ($key, $value);
}
}
}
foreach ($_GET as $key => $value) {
sanitize($key, $value);
}
我也试过了array_walk
没有更好的结果。
答案 0 :(得分:0)
谢谢大家一起来看看并告诉我它适合你。
问题不在于提供的$ _GET数组,而是我如何测试结果。我有以下内容:
echo
"<br/>month: ".MONTH;
"<br/>course: ".COURSE;
"<br/>pagetype: ".PAGETYPE;
"<br/>studentid: ".STUDENTID;
。 。但当然应该有句号而不是分号。