0 votes
in SoSci Survey (dt.) by s168164 (165 points)
edited by SoSci Survey

Ich möchte die Items mittels PHP-Code randomisieren, sodass jeder Teilnehmer eine randomisierte Abfolge erhält. Allerdings komme ich beim PHP-Code nicht weiter, vor allem beim letzten Teil:

  // Jetzt noch die Seitenabfolge definieren
  setPageOrder(
    $parts[$keys[1]],
    $parts[$keys[2]],
    $parts[$keys[3]],
    $parts[$keys[1]],
    $parts[$keys[2]],
    $parts[$keys[3]],

    'end'
        );

Usw. Wieso muss ich die Seitenabfolge vorab definieren, wenn sie ohnehin randomisiert wird? Und was genau trage ich dort ein, also welche Reihenfolge? Ich möchte ja eben NICHT, dass es eine bestimmte Reihenfolge gibt. Und welche Variablennamen trage ich dort ein? Die, die ich in der Rubrik festgelegt habe oder die Bezeichnungen von der internen Variable?

Ohne den letzten Teil mit der Reihenfolge lautet mein Code folgendermaßen:

$parts = array(
    'A0' => 'A001-A003',
    'A1' => 'A101-A103',
    'A2' => 'A201-A203',
    'A3' => 'A301-A303',
    'A4' => 'A401-A403',
    'A5' => 'A501-A503',
    'A6' => 'A601-A603',
    'A7' => 'A701-A703',
    'A8' => 'A801-A803',
    'A9' => 'A901-A903',
    'B0' => 'B001-B003',
    'B1' => 'B101-B103',
    'B2' => 'B201-B203',
    'B3' => 'B301-B303',
    'B4' => 'B401-B403',
    'B5' => 'B501-B503',
    'B6' => 'B601-B603',
    'B7' => 'B701-B703',
    'B8' => 'B801-B803',
    'B9' => 'B901-B903',
    'C0' => 'C001-C003',
    'C1' => 'C101-C103',
    'C2' => 'C201-C203',
    'C3' => 'C301-C303',
    'C4' => 'C401-C403',
    'C5' => 'C501-C503',
    'C6' => 'C601-C603',
    'C7' => 'C701-C703',
    'C8' => 'C801-C803',
    'C9' => 'C901-C903',
    'D0' => 'D001-D003',
    'D1' => 'D101-D103',
    'D2' => 'D201-D203',
    'D3' => 'D301-D303',
    'D4' => 'D401-D403',
    'D5' => 'D501-D503',
    'D6' => 'D601-D603',
    'D7' => 'D701-D703',
    'D8' => 'D801-D803',
    'D9' => 'D901-D903',
  );

  // Die Schlüssel des obigen Arrays mischen
  $keys = array_keys($parts);
  shuffle($keys);
  // Das Array sieht nun z.B. so aus: A2, A4, A1, A3
   
  // Für jeden Schlüssel die Position im gemischten Array abspeichern
  put('IV01_01', array_search('A0', $keys) + 1);
  put('IV01_02', array_search('A1', $keys) + 1);
  put('IV01_03', array_search('A2', $keys) + 1);
  put('IV01_04', array_search('A3', $keys) + 1);
  put('IV01_05', array_search('A4', $keys) + 1);
  put('IV01_06', array_search('A5', $keys) + 1);
  put('IV01_07', array_search('A6', $keys) + 1);
  put('IV01_08', array_search('A7', $keys) + 1);
  put('IV01_09', array_search('A8', $keys) + 1);
  put('IV01_10', array_search('A9', $keys) + 1);
  put('IV01_11', array_search('B0', $keys) + 1);
  put('IV01_12', array_search('B1', $keys) + 1);
  put('IV01_13', array_search('B2', $keys) + 1);
  put('IV01_14', array_search('B3', $keys) + 1);
  put('IV01_15', array_search('B4', $keys) + 1);
  put('IV01_16', array_search('B5', $keys) + 1);
  put('IV01_17', array_search('B6', $keys) + 1);
  put('IV01_18', array_search('B7', $keys) + 1);
  put('IV01_19', array_search('B8', $keys) + 1);
  put('IV01_20', array_search('B9', $keys) + 1);
  put('IV01_21', array_search('C0', $keys) + 1);
  put('IV01_22', array_search('C1', $keys) + 1);
  put('IV01_23', array_search('C2', $keys) + 1);
  put('IV01_24', array_search('C3', $keys) + 1);
  put('IV01_25', array_search('C4', $keys) + 1);
  put('IV01_26', array_search('C5', $keys) + 1);
  put('IV01_27', array_search('C6', $keys) + 1);
  put('IV01_28', array_search('C7', $keys) + 1);
  put('IV01_29', array_search('C8', $keys) + 1);
  put('IV01_30', array_search('C9', $keys) + 1);
  put('IV01_31', array_search('D0', $keys) + 1);
  put('IV01_32', array_search('D1', $keys) + 1);
  put('IV01_33', array_search('D2', $keys) + 1);
  put('IV01_34', array_search('D3', $keys) + 1);
  put('IV01_35', array_search('D4', $keys) + 1);
  put('IV01_36', array_search('D5', $keys) + 1);
  put('IV01_37', array_search('D6', $keys) + 1);
  put('IV01_38', array_search('D7', $keys) + 1);
  put('IV01_39', array_search('D8', $keys) + 1);
  put('IV01_40', array_search('D9', $keys) + 1);

Hier ist außerdem ein Pretest-Link: https://www.soscisurvey.de/relationselect/?act=jeC1gcOsnDzxQ8leo3F42yfr

1 Answer

0 votes
by SoSci Survey (327k points)

Wieso muss ich die Seitenabfolge vorab definieren, wenn sie ohnehin randomisiert wird?

Schwer zu sagen ohne Kenntnis, woher die Variable $parts kommt. Ist das der untere Teil Ihrer Frage? Dann wäre die Antwort: Weil SoSci Survey ja sonst nicht weiß, um welche Seiten es geht.

Aber eigentlich würde ich Ihnen empfehlen, dass Sie dieser Anleitung folgen: Seiten rotieren - Sie werden sehen, dass das wesentlich einfacher ist.

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

...