2016-04-03 23 views
0

Bu kodu vardır. Her şey çalışıyor ama $_SESSION['points'] = $points; sorunun nerede olduğu (Bu $points içeren $ _SESSION değişkeni). 583276

Ama farklı php şeklinde bir süre döngü içinde bir echo $_SESSION['points'] sadece çıkışından son elemanı 6 $ echo $_SESSION['points'] sayı depolanır:

Geçerli php şeklinde $points yankı, bu çıktılar.

Bunu nasıl düzeltebilirim? echo $_SESSION['points'], $points'un tüm değerlerini farklı bir php biçiminde verir.

Not: Ayrıca bir döngü içinde echo $_SESSION['points'] koydum ama yine de $ point olarak depolanan son değeri verir. Örneğin. çıkış: 666666

Şimdiden teşekkürler.

cevap

3

Çünkü $ _SESSION ['points'] kendisi bir dizi değildir. Sen hattınızı değiştirmelisiniz:

$_SESSION['points'][] = $points; 
+0

Peki ne zaman çıktı '$ _ SESSION [ 'noktaları']' do Sadece 'echo $ _ SESSION [ 'noktaları']' veya değerler çıkışına içinde 583276 bir döngü kullanmak diğer form? – SubZero

+0

Sadece hata ayıklama amacıyla print_r ($ _ SESSION ['points']) kullanabilirsiniz. – rcpinto

0

Değişken noktaları bir dizi değil, bu nedenle sadece son hesaplanan öğesi içeriyor. Diziye değiştirin, ardından her değeri dizideki yeni öğe olarak kaydedin.

0

echo $points; ile döngü, 583276 çıktısını kastediyorsunuz. $_SESSION['points'] gibi, yalnızca bir değer depolar, ancak her seferinde değeri yazdırırsınız. öneririm aşağıdaki değişiklikler:

$studPosition = array(); 
$i = 0; 
$points = ''; 
foreach ($_SESSION['arrayNamePosition'] as $value) { 
    $studPosition[$i] = $_GET[$value]; 
    $i++; 
    $points = $points.(($_SESSION['noStudents']+1) - $_GET[$value]); 
} 
echo $points; 
$_SESSION['points'] = $points; 
İlgili konular