从一个页面获取php数组到另一个页面


Getting php array from one page to another?

我看了看PHP -如何发送数组到另一个页面?,但我的情况不同。

我在一个页面上有这个程序,这是查询块:

while ($row = sqlsrv_fetch_array($query))
{   
    $questions[] = "$row[Question]";
    $optionA[] = "$row[OptionA]";
    $optionB[] = "$row[OptionB]";
    $optionC[] = "$row[OptionC]";
    $optionD[] = "$row[OptionD]";
}

然后我做一些像这样的事情来在屏幕上回应问题

$lengthquestion = count($questions);
$_SESSION['length'] = $lengthquestion;
for($i = 0; $i < $lengthquestion; $i++)
{
    echo $questions[$i];
}

现在我希望能够在不同的php文件中访问这个问题数组。但是我感到困惑/坚持我一直在尝试的是,我仍然需要访问下一页上数组的每个元素。我该怎么做呢?

到目前为止,我一直在玩会话,但后来我得到数组到字符串转换错误。

第二个php页面:

$UpperLimit = $_SESSION['length']; 
for($i = 0; $i < $UpperLimit; $i++)
{
}

使用Sessions将数组发送到另一个页面很容易,但我也建议使用多维数组代替。

示例(测试代码):

<?php
session_start();
$i = 0;
$questions = Array();
for($i = 0; $i < 5; $i++){
    $questions[$i]['question'] = "test  ". $i;
    $questions[$i]['option'][] = "optionA ". $i;
    $questions[$i]['option'][] = "optionB ". $i;
    $questions[$i]['option'][] = "optionC ". $i;
    $questions[$i]['option'][] = "optionD ". $i;
}
$_SESSION['questions'] = $questions;
// ******* from here down can go on another page.  Don't forget session_start();
$questions_session = $_SESSION['questions'];
if(is_array($questions_session)){
    foreach($questions_session as $key => $questions){
        foreach($questions as $q => $question){
            if(is_array($question)){
                // This is an option, loop through and post each option.
                foreach($question as $key => $option){
                   echo " - ".$option."<br />";
                }
            } else {
                // This is the question, post it to the screen
                echo "Question : ". $question . "<br />";
            }
        }
    }
}
?>