如果我有 20 个用户输入变量并且想在 $var[0..19]、$_SESSION['var'[0..19]] 和 $_POST['var'[0..19] 之间工作]],例如:
$var0 = $_SESSION['var0'] = $_POST['var0'];
我如何使用数组和 foreach 循环有效地做到这一点?
其他详细信息:
所以最初我一直在想尝试这样的事情:
$inputVars = array('var1'=>$var1, 'var2'=>$var2, 'var3'=>$var3, 'var4'=>$var4, 'var5'=>$var5)
$inputVarsS = array($_SESSION['inputVars = array('svar1'=>$_SESSION['var1']'], 'svar2'=>$_SESSION['var2'], 'svar3'=>$_SESSION['var3'], 'svar4'=>$_SESSION['var4'], 'svar5'=>$_SESSION['var5'])
$inputVarsP = array($_POST['inputVars = array('pvar1'=>$_POST['pvar1']'], 'pvar2'=>$_POST['pvar2'], 'pvar3'=>$_POST['pvar3'], 'pvar4'=>$_POST['pvar4'], 'pvar5'=>$_POST['pvar5'])
然后我想我可以做类似的事情:
$inputVarsS['svar1'] = $inputVarsP['pvar1'];
将 session 值 svar1 设置为发布值 pvar1。但我认为确实必须有一种更有效的方法来完成这些类型的作业。
我想我可以很容易地拥有 $inputVars 数组并将 POST SESSION 值分配给键,但是如果我想同时使用 POST 和 SESSION 值怎么办?然后我假设我需要多个阵列?
最佳答案
你可以使用 $$ 来定义变量名,但我认为使用数组 $vars 会更好。
使用 $var0, $var1, ...., 你可以像 echo $var4
一样访问它们
foreach(range(0, 19) as $index)
{
$var = 'var' . $index;
$$var = $_SESSION[$var] = $_POST[$var];
}
使用数组 $vars,并使用 echo $vars[4]
访问它们
foreach(range(0, 19) as $index)
{
$var = 'var' . $index;
$vars[$var] = $_SESSION[$var] = $_POST[$var];
}
关于php - 数组和 foreach 循环更有效地处理输入变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43425510/