0 votes
in SoSci Survey (dt.) by s136815 (550 points)

Ist es möglich, Itemblöcke innerhalb einer langen Itemreihe zufällig rotieren zu lassen, aber die Items innerhalb der Blöcke zusammen zu lassen, auch in der vorgegebenen Reihenfolge?
Im Voraus vielen Dank.

by SoSci Survey (328k points)
Sprechen wir von einer großen Anzahl Items innerhalb einer Frage oder von mehreren Fragen?

Diese Anleitung kennen Sie bereits?
https://www.soscisurvey.de/help/doku.php/de:create:rotation
by s136815 (550 points)
Wir sprechen von einer großen Anzahl Items innerhalb einer Frage.

1 Answer

0 votes
by SoSci Survey (328k points)

Bitt klären Sie zunächst, ob es für Ihre Messung überhaupt sinnvoll ist, die Items zu rotieren:
Sinn und Unsinn der Rotation

Um die Items einer Frage in "Blöcken" zu rotieren, benötigen Sie zunächst ein geschachteltes Array (mehrere Listen in einer Liste) der Items. Das könnte so aussehen:

$items = [
  [1,2,3,4,5,6],
  [7,8,9,10,11,12],
  [13,14,15,16,17,18,19]
];

Hier exemplarisch drei Blöcke. Jetzt können Sie jede "Zeile" mischen:

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

Jetzt noch zu einem Array zusammenführen...

$itemsComplete = [];
for ($i=0; $i<count($items); $i++) {
  $itemsComplete = array_merge($itemsComplete, $items[$i]);
}

Und dann die Frage mit dieser Liste stellen:

question($itemsComplete);

Wenn Sie verhindern möchten, dass sich die Reihenfolge beim Neu-Laden der Seite (z.B. weil Items übersehen wurde) zu verhinden, benötigen Sie noch ein isset() und ein registerVariable(). Und die FOR-Schleifen kann man zusammenfassen.

if (!isset($itemsComplete)) {
    $items = [
      [1,2,3,4,5,6],
      [7,8,9,10,11,12],
      [13,14,15,16,17,18,19]
    ];
    for ($i=0; $i<count($items); $i++) {
      shuffle($items[$i]);
      $itemsComplete = array_merge($itemsComplete, $items[$i]);
    }
    registerVariable($itemsComplete);
}
question($itemsComplete);

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

...