> :D nein natürlich habe ich nicht nur ein Item (Items sind die Antwortmöglichkeiten, richtig? von denen habe ich sechs plus eine Ausweichantwort)
Die haben mich ein wenig verwirrt, weil ich auf den ersten Blick dachte, es handle sich um Fragen vom Typ "Skala". Dabei sind es Frgen vom Typ "Auswahl". Da wäre die sachlich korrekte bezeichnung "Antwortoption", aber aus technischer Sicht sind es in SoSci Survey Items. Insofern haben Sie vollkommen Recht :)
> . Kann es sein, dass das Programm dadurch Fragen doppelt anzeigt? einmal über den Zufallsgenerator
Ja und nein. Also: Der Zufallsgenerator selbst zeigt keine Fragen an. Aber Sie haben im PHP-Code doppelt (!) den question()-Befehl. Untern wesentlich häufiger: Ich meine, dass sie einmal im oberen Teil (zum Zufallsgenerator) in einer Schleife question() 48-mal aufrufen und dann haben Sie unten noch 48-mal question() geschrieben.
Die Lösung besteht darin, dass wir den unteren Teil zur Definition der Variable $itemsBS nach oben ziehen. Und darunter kommt dann der Teil, welcher die Fragen in der vom Zufallsgenerator gezogenen Abfolge anzeigt.
// Erstmal die Abfolge der Antwortoptionen mischen
if (!isset($itemsBS)) {
$itemsBS = [1,2,3,4,5,6];
shuffle($itemsBS);
$itemsBS[] = -1;
registerVariable($itemsBS);
}
// Jetzt die Fragen mit dieser Abfolge von Antwortoptionen anzeigen
// Und zwar in der Reihenfolge lt. Zufallsgenerator
question('RB01');
$fragen = valueList('RB01', NULL, 'label');
foreach ($fragen as $kennung) {
question($kennung, $itemsBS);
}
Das ist kürzer und ohne die lästige Doppelung.