如何使用session将表单数据存储在数组中?

I have to store form data i.e. Roll No and Marks of a student in an array using session. When I am doing this, the previous value is overwritten by the new value after submitting form. I want to add the value in array next to the previous value with a new index.

Here is my form

<form action="#" method="post">
    Roll No:<input type="text" name="rollno" value="" id="rollno"  />
    Marks:<input type="text" name="marks" value="" id="marks"  />
    <input type="submit" name="submit" value="Submit" onclick="return validate();" />
</form>

and

<?php
session_start();
//session_destroy();
$_SESSION['status'] = array();

$_SESSION['status'][] = @$_POST['rollno'];
$_SESSION['status'][] = @$_POST['marks'];

print_r($_SESSION['status']);                    
?>

How can I do this please help me?

This is a way...

<?php
session_start();
$i=0;

while(isset($_SESSION[$i])) $i++;

$_SESSION[$i]['rollno'] = $_POST['rollno'];
$_SESSION[$i]['marks'] = $_POST['marks'];
-
-
-
?>

You can add a serialized array to a session like this:

$_SESSION['key'] = serialize($yourArray);

Then when you want to add something, just unserialize it, modify and put it back in your session.

i will explain with a sample

  <?php
    session_start();

    $_SESSION['data']= array();
    $details1=array('pappu','10');
    $details2=array('tippu','12');

    array_push($_SESSION['data'],$details1);
    array_push($_SESSION['data'],$details2);

    foreach ($_SESSION['data'] as $eacharray) {
    while (list(, $value) = each ($eacharray)) {
        echo "Value: $value<br>
";
    }
    }

?>

output

Value: pappu
Value: 10
Value: tippu
Value: 12

you can try

 $rollArray=array($_POST['rollno'],$_POST['marks']);
 array_push($_SESSION['status'], $rollArray);


 foreach ($_SESSION['status'] as $eacharray) {
    while (list(, $value) = each ($eacharray)) {
        echo "Value: $value<br>
";
    }
    }