是的!您可以使用array_push
push to asession array
并且可以根据您的要求访问它们。
基础:
array_push
采用前两个参数array_push($your_array, 'VALUE_TO_INSERT');
。请参阅:php 手册以供参考。
示例:
首先,您的会话变量应该是一个数组,例如:
$arr = array(
's_var1' => 'var1_value',
's_var2' => 'var2_value'); // dummy array
$_SESSION['step1'] = $arr; // session var "step1" now stores array value
现在您可以在 $_SESSION['step1'] 上使用 foreach 循环
foreach($_SESSION['step1'] as $key=>$value) {
// code here
}
此代码的好处是您可以使用键名访问任何数组值,例如:
echo $_SESSION[step1]['s_var1'] // output: var1_value
注意:您也可以使用索引数组进行循环,如
$arr = array('var1_value', 'var1_value', ....);
奖励:
假设您被重定向到不同的页面您还可以在您创建的同一数组中插入会话变量。看;
// dummy variables names and values
$_SESSION['step2'] = array(
's_var3' => 'page2_var1_value',
's_var4' => 'page2_var2_value');
$_SESSION['step1step2'] = array_merge($_SESSION['step1'], $_SESSION['step2']);
// print the newly created array
echo "<pre>"; // for formatting printed array
var_dump($_SESSION['step1step2']);
echo "<pre>";
输出:
// values are as per my inputs [use for reference only]
array(4) {
["s_var1"]=>
string(7) "Testing"
["s_var2"]=>
int(4) "2124"
["s_var3"]=>
int(4) "2421"
["s_var4"]=>
string(4) "test"
}
*您可以像上面一样在此处使用 foreach 循环,或者从会话变量数组中获取单个会话变量。
eg:
echo $_SESSION[step1step2]['s_var1'];
OUTPUT:
Testing
希望这可以帮助!