Also ich habe folgendes PHP-Skript Zufallsmatrizen zusammen zu geben, um eine dynamische Art der Frage nach einem Quiz zu erstellen: die WertePHP multidimensionalen Arrays SESSION Variablen
<?php
$min = 0;
$max = 10;
$a1 = rand($min, $max);
$b1 = rand($min, $max);
$c1 = rand($min, $max);
$d1 = rand($min, $max);
$a2 = rand($min, $max);
$b2 = rand($min, $max);
$c2 = rand($min, $max);
$d2 = rand($min, $max);
$matrixa = array(
array($a1,$b1),
array($c1, $d1)
);
$matrixb = array(
array($a2,$b2),
array($c2, $d2)
);
for ($i=0; $i<2; $i++){
for ($j=0; $j<2; $j++){
$matresult[$i][$j] = $matrixa[$i][$j] + $matrixb[$i][$j];
echo $matresult[$i][$j] . ' ';
}
echo '<br>';
}
var_dump($matresult);
?>
Dies funktioniert, und speichert korrekt so dass der Ausgang ist wie folgt:
16 4
4 8
array(2) { [0]=> array(2) { [0]=> int(16) [1]=> int(4) } [1]=> array(2) { [0]=> int(4) [1]=> int(8) } }
(zum Beispiel)
Nun, wenn ich versuche, ein Session-Variable innerhalb desselben for-Schleife zu verwenden:
for ($i=0; $i<2; $i++){
for ($j=0; $j<2; $j++){
$_SESSION['matresult[$i][$j'] = $matrixa[$i][$j] + $matrixb[$i][$j];
echo $_SESSION['matresult[$i][$j]'] . ' ';
}
echo '<br>';
}
var_dump($_SESSION['matresult']);
Der Ausgang gibt der folgende:
16 4
4 8
NULL
Ich verstehe nicht, warum dies geschieht, wird der Code und Logik ist genau das gleiche, was habe ich verpasst?
'$ _SESSION ['matresult [$ i] [$ j']' ????? //// –
Mögliche Duplikate von [Kann ich Array \ _push auf einem SESSION-Array in PHP verwenden?] (Http : //stackoverflow.com/questions/2616540/cani-i-use-array-push-on-a-session-array-in-php) –
Sie haben einen Tippfehler. '$ _SESSION ['matresult [$ i] [$ j']' ist falsch, Sie müssen den letzten Array-Schlüssel ']' schließen. Außerdem ist 'mt_rand' zufälliger als' rand' :-) – Martin