はい!array_push
push to aを使用できsession array
、要件に応じてそれらにアクセスできる方法があります。
基本:
array_push
最初の 2 つのパラメーターを取ります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
お役に立てれば!