Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Ist es möglich, Blöcke von Items innerhalb einer Frage zu mischen, also nicht alle Items komplett durcheinander (aber trotzdem alle auf einer Fragebogenseite)?
Es gibt 4 Blöcke a 3 Items, die Reihenfolge der Blöcke soll variieren. Ggbf. möchte ich auch noch innerhalb der Blöcke mischen. Wichtig ist aber vor allen Dingen, dass die Blöcke als solche bestehen bleiben.

in SoSci Survey (dt.) by s047711 (250 points)

1 Answer

0 votes

Die Lösung funktioniert ähnlich, wie hier für Seiten beschrieben:
Rotation und Mischen von Blöcken

Legen Sie zunächst ein Array an, welche die Blöcke definiert - hier dann nur Item-Nummern.

$blocks = array(
  array(1,2,3),
  array(4,5,6),
  array(7,8,9),
  array(10,11,12)
);

Dann mischen Sie jeden Block

for ($i=0; $i<count($blocks); $i++) {
  shuffle($blocks[$i]);
}

Und dann nochmal die Blöcke

shuffle($blocks);

Zuletzte "ebnen" Sie das verschachtelte Array.

$items = array();
for ($i=0; $i<$blocks.length; $i++) {
  $items = array_merge($items, $blocks[$i]);
}

... und verwenden diese Itemliste für Ihre Frage:

question('AB01', $items);
by SoSci Survey (229k points)
edited by SoSci Survey
Vielen Dank schon mal für den Hinweis.

Momentan kommt folgende Fehlermeldung (3 mal):

"Im PHP-Code trat ein Fehler auf.

Fehler im Fragebogen: Im PHP-Code wurde der Begriff length verwendet, allerdings weder als Variablenname noch als Funktion. Falls Sie eine Kennung o.ä. angeben wollten, muss der Begriff als String in gerade Anführungszeichen gesetzt werden, z.B. 'length'.

PHP-Code

004   array(13,15,16),
005   array(19,20,21)
006 );
007 for ($i=0; $i<$blocks.length; $i++) {
008   shuffle($blocks[$i]);
009 }
010 shuffle($blocks);

Fehler im Fragebogen: Array to string conversion
Zeile: 7"

'length' statt length funktioniert leider auch nicht.
Pardon, es müsste count($blocks) heißen - oben geändert.
Super, jetzt funktioniert es!
...