您几乎是正确的,添加到数组时只需要[]。
$_SESSION['question'] = $que;
确保您有一个会话首先进行,如果一个会话尚不存在,将其放在脚本顶部将启动一个会话:
if( !isset( $_SESSION ) ) {
session_start();
}
把它拉回来:
$array = $_SESSION['question']; //Assigns session var to $array
print_r($array); //Prints array - Cannot use echo with arrays
最终添加
要遍历数组,通常可以使用 for 或 foreach。 For 语句只有在您的数组键是递增的(0、1、2、3 等)且没有任何间隙时才能正常工作。
for( $x = 0, $max = count($array); $x < $max; ++$x ) {
echo $array[$x];
}
foreach( $array as &$value ) {
echo $value;
}
两者都是为了性能而编写的。非常重要的是要知道在使用引用时(&$value,注意 &),如果您编辑引用,原始值会发生变化。当您不通过引用使用时,它会创建该值的副本。比如:
//Sample Array
$array = array( '0' => 5, '1' => 10 );
//By Reference
foreach( $array as &$value ) {
$value += 2; //Add 2 to each value
echo $value; //Echos 7 and 12, respectively
}
print_r( $array ); //Now equals array( '0' => 7, '1' => 12 )
//Normal Method
foreach( $array as $value ) {
$value += 2; //Add 2 to each value
echo $value; //Echos 7 and 12, respectively
}
print_r( $array ); //Still equals array( '0' => 5, '1' => 10 )
引用更快,但如果您打算修改值同时保持原始数组不变,则不会。