我知道这不是最好的做法,但出于好奇,有没有办法循环遍历几个PHP变量并将它们分配给同名的POST变量?
例如,如果我需要做类似
的事情$var1 = $_POST["var1"]
我可以遍历所有变量并执行
foreach($values_array as &$value) {
if isset($_POST[valueName($value)]) {
$value = $_POST[valueName($value)];
} else {
$value = "";
}
}
最后,我只是不确定检查和分配大量POST值的最佳方法(我现在正在看50多个......)。非常感谢指示纠正方式。
答案 0 :(得分:0)
You can use extract()
采用更简单,更安全的方法:
extract($_POST, EXTR_SKIP); // "Safest" way
您可以使用EXTR_IF_EXISTS
标志仅覆盖现有变量,或者可以使用EXTR_SKIP
来防止写入已存在的任何变量(为了最好的安全性)。您也可以使用前缀变量:
extract($_POST, EXTR_PREFIX_ALL, 'post');
然后通过$_POST['variable']
可以使用$postvariable
- 但要小心 - 例如,您必须确保所有PHP变量都不以“post”开头
通常的做法是将$_POST
变量保留在原来的位置并直接访问它们,直到您开始操作,验证和清理它们为止。