-1

以下に例を示します (以下の例は考慮しないでください。これは私のプログラムの一部ではありません)。

array( 'agur' => 100,
       'agur' => 300,
       'babu' => 200 ); 

上記の配列値を一度に 1 つずつ SESSION 変数に挿入します。

問題は、挿入したい上記の例の配列ではありません。実際のスクリプトは、リンクをクリックするたびに、SESSION配列に挿入したいクエリ文字列の値のようなものです。

以下のコードを試してみましたが、これは役に立ちませんでした!

if( !isset( $_SESSION['allmarks'] ) )
{
    $_SESSION['allmarks'] = array();
}
$name = $_GET['name']; //eg. agur
$mark = $_GET['mark']; //eg. 100

$_SESSION['allmarks'] ["$name"] = $mark;

取得する出力は、最後に挿入された値のみです

'agur' => 300

私も試してみましarray_pushたが、私には役に立ちませんでした!.

var_dumb を実行すると、以下のような結果が得られますSESSION['allmarks']

'agur' => 100
'agur' => 300
'babu' => 200
4

3 に答える 3

1

foreach配列を使用してループする必要があります。

  $arr  = array( 'agur' => 100,  'agur' => 300,   'babu' => 200 ); 
  if( !isset( $_SESSION['allmarks'] ) )
  {
    $_SESSION['allmarks'] = array();
    foreach($arr as $k => $v)
     $_SESSION['allmarks'][$k] = $v; 
   }
于 2012-11-26T15:51:45.580 に答える
0

配列のウォークスルーに foreach() を使用する

于 2012-11-26T15:51:06.857 に答える
0

この配列にセッション キーを設定するだけの場合は、ループする必要はありません。

また、忘れないでくださいsession_start()(よくある間違い)。

$array = array( 'agur' => 100,
       'agur' => 300,
       'babu' => 200 ); 

session_start();
$_SESSION['allmarks'] = $array;
于 2012-11-26T15:52:46.237 に答える