你几乎是正确的,你只需要[]
在添加到数组时。
$_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 )
引用更快,但如果您打算修改值同时保持原始数组完整,则不会。