jesteś prawie poprawne, trzeba tylko się []
podczas dodawania do tablicy.
$_SESSION['question'] = $que;
Upewnij się, że masz zamiar pierwsza sesja, umieszczając to na górze skryptu rozpocznie sesję, jeśli nie istnieje:
if(!isset($_SESSION)) {
session_start();
}
Aby wyciągnąć go z powrotem:
$array = $_SESSION['question']; //Assigns session var to $array
print_r($array); //Prints array - Cannot use echo with arrays
zakończeniu dodawania
Do iteracji po tablicy można zazwyczaj użyć for lub foreach. Dla instrukcji naprawdę działa tylko wtedy, gdy klucze tablicy są przyrostowe (0, 1, 2, 3 itd.) Bez żadnych przerw.
for($x = 0, $max = count($array); $x < $max; ++$x) {
echo $array[$x];
}
foreach($array as &$value) {
echo $value;
}
Obie zostały napisane pod kątem wydajności. Bardzo ważne jest, aby wiedzieć, że korzystając z odniesienia (&$value
, zauważ &), że jeśli edytujesz odniesienie, pierwotna wartość zmienia się. Kiedy nie używasz przez odniesienie, tworzy kopię wartości. Tak więc na przykład:
//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)
Referencje są szybsze, ale nie jeśli struganie na modyfikację wartości zachowując oryginalną tablicę nienaruszone.
tylko '$ _SESSION ['question'] = $ que;' no [] –