我已经构建了一个空的关联数组,它的键名引用了提交的发布数据。我可以很好地捕获postdata,但遇到麻烦时尝试实例化名称与数组键匹配的变量。使用foreach循环来初始化变量
例如:
$insArray = array('rUsername'=>'', 'rPass'=>'', 'rQuestion'=>'', 'rAnswer'=>'', 'rFName'=>'', 'rLName'=>'', 'rBDateD'=>'', 'rBDateM'=>'', 'rBDateY'=>'', 'rHCheck'=>'', 'rHCeckOption'=>'', 'rEmail'=>'');
foreach($insArray as $key=>$value){
if (filter_input(INPUT_POST, $key) != ''){
$key = stripslashes(filter_input(INPUT_POST, $key));
$insArray[$key] = $key;
}
}
第一行创建的空数组,然后在foreach通过此数组环路。现在变得棘手。
filter_input(INPUT_POST, $key)
捕获位于后数据匹配当前键,rUsername在这种情况下
$key
是问题所在的值。我希望新变量的名称是关联键名,例如我想在第一次迭代中用$ rUsername替换$ key,在第二次中用$ rPass替换,等等。我尝试使用两个$$,但我知道这是不对的。以前从来没有尝试过这样做,但如果我能弄清楚它会有所帮助。
UPDATE:
这是最后的代码是两个提供的答复的组合。
if (isset($_POST['submit'])) {
//Build array of variables to be put into database
$insArray = array('rUsername'=>'', 'rPassword'=>'', 'rQuestion'=>'', 'rAnswer'=>'', 'rFName'=>'', 'rLName'=>'', 'rBDateD'=>'', 'rBDateM'=>'', 'rBDateY'=>'', 'rHCheck'=>'', 'rHCheckOption'=>'', 'rEmail'=>'');
foreach(array_keys($insArray) as $key){
$insArray[$key] = filter_input(INPUT_POST, $key);
$$key = filter_input(INPUT_POST, $key);
}
}
给我完全我想要的输出,谢谢你们!
那么什么是你得到 – Satya