数组上的 PHP 函数只返回第一个值


PHP function on array only returning first value

我创建了一个函数来遍历$_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没有更好的结果。

谢谢大家看一看并告诉我它对你有用。

问题不在于提供的 $_GET 数组,而在于我如何测试结果。我有以下几点:

echo 
"<br/>month: ".MONTH;
"<br/>course: ".COURSE;
"<br/>pagetype: ".PAGETYPE;
"<br/>studentid: ".STUDENTID;

。但当然应该有句点而不是分号。