Hallo,
ich habe folgendes Problem, vielleicht weiß jemand Rat?
Ich habe folgendes array, welches mir eine Kombintion aus Fragen erstellen soll, die dann geshuffelt werden.
if (value('IV01_01') == 8){
//group: respond to situation, test for situation
$seiten = array(
array('b1ss','fb25'),
array('b2ss','fb26'),
array('b3ss','fb27'),
array('b4ss','fb28'),
array('b5ss','fb29'),
array('b6ss','fb30'),
array('b7ss','fb31'),
array('b8ss','fb32')
);
shuffle($seiten);
$seiten[] = 'in2s';
setPageOrder($seiten);
}
Nun hab ich leider ein wenig Schwierigkeiten mit der Speicherung der geshuffelten Abfolge (was noch gut ging, als ich hier noch kein verschateltes Array hatte). Im moment ist das hier mein Entwurf für die Speicherung:
foreach ($seiten as $seite) {
for ($i=0; $i<count($seite); $i++) {
// Kennung der internen Variable aus Frage-Kennung plus Index erstellen
$id = id('IV02', $i + 1);
// Hier den Wert aus dem Array speichern
put($id, $seite[$i]);
}
}
Was hier momentan passiert, ist dass zwar theoretisch das Array komplett in der richtigen Abfolge gespeichert wird, aber es werden immer nur die ersten 2 Items der internen Varible IV02 genutzt; dementsprechend werden diese immer wieder überschrieben.
Ich nahm an, dass dasvielleicht irgendwie an dem count Teil liegt? Aber ein ersetzen von count($seite) durch andere Variablen, welchen ich einen festen Wert (Anzahl der Items im Array) zugewiesen habe, hat nichts geändert. Es werden weiterhin irgendwie immer nur die ersten zwei Spalten der IV02 besetzt. Nun bin ich leider etwas ratlos....