是的!你可以 使用 array_push
向 session数组
中添加元素,你可以根据自己的需求访问它们。
基础知识:
array_push
需要前两个参数 array_push($your_array, 'VALUE_TO_INSERT');
。
请参考: php手册。
例子:
首先,你的session变量应该像这样是一个数组:
$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', ....);
奖励:
假设您被重定向到另一个页面,您还可以在创建的同一数组中插入会话变量。请参见;
$_SESSION['step2'] = array(
's_var3' => 'page2_var1_value',
's_var4' => 'page2_var2_value');
$_SESSION['step1step2'] = array_merge($_SESSION['step1'], $_SESSION['step2']);
echo "<pre>";
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
希望这有所帮助!