Php 在数组中访问post变量

Php 在数组中访问post变量,php,Php,如何通过php类中的所有函数保留post变量? 我正在访问函数中数组中的post变量。但当我尝试访问另一个函数中的元素时,它只返回数组中的最后一个元素 foreach ( $questionAry as $questionID ) { $questionName = $this->htmlID_questionID . $questionID; $question_answer = $_POST[$questionName];

如何通过php类中的所有函数保留post变量? 我正在访问函数中数组中的post变量。但当我尝试访问另一个函数中的元素时,它只返回数组中的最后一个元素

foreach ( $questionAry as $questionID )
{
        $questionName = $this->htmlID_questionID . $questionID;

        $question_answer = $_POST[$questionName];                   

        $_SESSION['qusID'] = $questionID;
        $_SESSION['qusanswer'] = $question_answer;
}

我想在另一个函数中访问$questionID和$question\u answer。我试图通过会话完成,但我只能访问最后一个值。

您的循环是错误的……这些人在每次迭代中都会被覆盖

    $_SESSION['qusID'] = $questionID;
    $_SESSION['qusanswer'] = $question_answer;
你需要使用一个索引循环,类似这样

foreach ( $questionAry as $key => $questionID )
{
        $questionName = $this->htmlID_questionID . $questionID;

        $question_answer = $_POST[$questionName];                   

        $_SESSION['qusID'][$key] = $questionID;
        $_SESSION['qusanswer'][$key] = $question_answer;
}
编辑:根据下面的对话,尝试这样做。

function getvalues() { 
    $questions = array();
    $jsonEncoded = ( get_magic_quotes_gpc() ) ? stripslashes($_POST[$this->htmlID_questionIDAry]) : $_POST[$this->htmlID_questionIDAry]; 
    $jsonDecoded = json_decode($jsonEncoded); 

    $questionAry = explode(",",$jsonDecoded->list); 
    $instr = ""; 

    foreach ( $questionAry as $key => $questionID ) { 
        $questions[$key]['name'] = $this->htmlID_questionID . $questionID; 
        $questions[$key]['answer'] = $_POST[$questionName]; 
    } 

    return $questions;
}


$parsedQuestions = getvalues();

name_of_other_function($parsedQuestions);

function name_of_other_function($parsedQuestions){
    print_r($parsedQuestions);
}

你做得很好。将每个$\u POST[]元素定义为一个变量,并在上面使用它,如果需要在页面之间进行解析,请将其保存在会话中。以后需要时调用每个会话。我的问题是我只能访问数组的最后一个元素。如何获取其中的所有值?好的,$questionID=$\u POST[$questionID]$问题_答案=$_帖子[$questionName];。这里有两个数组,由每个$\u POST[$questionName]和每个$\u POST[$questionID]中的许多元素组成。现在要使用它们,你必须使用foreach($questionID as$q_id=>$val_qid)在数组中循环,这样你就可以抓取每个元素,插入到表中,或者做任何需要做的事情。好的,谢谢。如果不使用会话,我如何让这些post变量可用于另一个函数?在同一页中?如果您发布了完整的函数或文件的要点,可能会有所帮助。除非需要变量在页面加载中持久化,否则不需要使用会话。同一页面在不同的函数中。函数getvalues(){$JSONECODED=(get_magic_quotes_gpc())?stripslashes($\u POST[$this->htmlID_questionIDAry]):$\u POST[$this->htmlID_questionIDAry];$JSONECODED=json_decode($JSONECODED)$questionAry=explode(“,”,$JSONDECODE->list);$instr=“”;foreach($questionAry as$key=>$questionID){$questionName=$this->htmlID\questionID;$questionID;$question\u answer=$\u POST[$questionName];}要访问此函数的外侧的quesionID和question_answer。我可以访问不同函数中的值。funfunction accessvalues($questions){foreach($x=>$x\$u value){$questionID=$x;$QuestionU-answer=$x\$u-value;print$questionID;print$QuestionU-answer;}它打印这样的东西0(1,hi)1(3123)2(37,ss)3(58,connect)4(59,no)5(47,s)6(48,f)7(49,u)8(50,p)如何访问(值为58)