我正在尝试使用
传递数组$variables=questions_file='.($questions_file).'&questions_id='.($questions_id).'&count_hindi='.$count_hindi;
echo '<Redirect method="GET">startCall.php?'.$variables.'</Redirect>';
questions_file和questions_id都是数组
foreach($question_records as $record=>$question)
{
$questions_file[$i]=$question['file_name'].'_'.$question['concept_tested'];
$questions_id[$i]=$question['question_id'];
echo $questions_file[$i]. "\n";
$i++;
}
因此,当我回显数组时,它显示完美。但是当我使用上面的代码将它传递给另一个文件时,我尝试打印数组元素,它打印为空白。我尝试使用序列化和反序列化,但它仍然无法正常工作
我现在想要使用
检索值$questions_id=(array)($_REQUEST['questions_id']);
$questions_file=(array)($_REQUEST['questions_file']);
但是当我试图访问成员时。
使用时:
$questions_file= urldecode(http_build_query($questions_file));
$questions_url= urldecode(http_build_query($questions_id));
$url = $server.'/startCall.php?call_id='.$call_id.'&phone='.$phone.'&questions_id='.$questions_id.'&questions_file='.$questions_file.'&student_id='.$student_id.'&story='
.$story.'&call_number='.$call_number.'&question_number=0&response=0&count_english=0&count_hindi=0';
我得到了
questions_file 0=q1_vocab&1=q3_comp&2=q5_crit&3=q7_gra
我想要
questions_file[0]=q1_vocab&questions_file[1]=q3_comp&questions_file[2]=q5_crit&questions_file[3]=q7_gra
答案 0 :(得分:1)
当您回显数组时,您只需获得“数组”一词。所以你可能得到的是:
echo 'myArr=' . $myArr;
// myArr=Array
当您需要在GET中传递数组时,您需要明确定义它们。例如:
myArr[assoc]=1&myArr[assoc2]=2&myArr2[0]=1&myArr2[1]=2&myOtherArr[]=1
会给你:
$_GET['myArr'] -> ('assoc' => 1, 'assoc2' => 2)
$_GET['myArr2'] -> (0 => 1, 1 => 2)
$_GET['myOtherArr'] -> (0 -> 1)
幸运的是,PHP为您提供了built in function:
$myArr = array('assoc' => 1, 'assoc2' => 2);
$get = array(
'myArr' => $myArr,
'myOtherArr' => array(1, 2)
);
echo urldecode(http_build_query($myArr));
// myArr[assoc]=1&myArr[assoc2]=2&myOtherArr[0]=1&myOtherArr[1]=2