Guten Abend,
ich habe Code-Blöcke anhand Ihrer Anleitung gebaut, die zur Randomisierung von mehreren Arrays (=Trials) dienen. Dabei soll auch die Reihenfolge der Trials in internen Variablen gespeichert werden.
Beide Blöcke sind jeweils auf der Seite vor der ersten zu randomisierenden Seite platziert, welche auch zusätzlichen Text enthält.
Der erste der beiden Codes funktioniert auch bei mehrfachem Testen tadellos:
//Seitenkennungen als Array speichern
$parts= array(
'1' => array('TG11','TG12', 'TG13'),
'2' => array('TG21','TG22', 'TG23'),
'3' => array('TG31','TG32', 'TG33'),
'4' => array('TG41','TG42', 'TG43'),
'5' => array('TG51','TG52', 'TG53'),
'6' => array('TG61','TG62', 'TG63'),
'7' => array('TG71','TG72', 'TG73'),
'8' => array('TG81','TG82', 'TG83'),
'9' => array('TG91','TG92', 'TG93'),
'10' => array('TG101','TG102', 'TG103'),
'11' => array('TG111','TG112', 'TG113'),
'12' => array('TG121','TG122', 'TG123'),
'13' => array('TG131','TG132', 'TG133'),
'14' => array('TG141','TG142', 'TG143'),
'15' => array('TG151','TG152', 'TG153'),
'16' => array('TG161','TG162', 'TG163'),
'17' => array('TG171','TG172', 'TG173'),
'18' => array('TG181','TG182', 'TG183'),
'19' => array('TG191','TG192', 'TG193'),
'20' => array('TG201','TG202', 'TG203'),
'21' => array('TG211','TG212', 'TG213'),
'22' => array('TG221','TG222', 'TG223'),
'23' => array('TG231','TG232', 'TG233'),
'24' => array('TG241','TG242', 'TG243'),
'25' => array('TG251','TG252', 'TG253'),
'26' => array('TG261','TG262', 'TG263'),
'27' => array('TG271','TG272', 'TG273'),
'28' => array('TG281','TG282', 'TG283'),
'29' => array('TG291','TG292', 'TG293'),
'30' => array('TG301','TG302', 'TG303'),
'31' => array('TG311','TG312', 'TG313'),
'32' => array('TG321','TG322', 'TG323'),
'33' => array('TG331','TG332', 'TG333'),
'34' => array('TG341','TG342', 'TG343'),
'35' => array('TG351','TG352', 'TG353'),
'36' => array('TG361','TG362', 'TG363'),
'37' => array('TG371','TG372', 'TG373'),
'38' => array('TG381','TG382', 'TG383'),
'39' => array('TG391','TG392', 'TG393'),
'40' => array('TG401','TG402', 'TG403'));
// Jetzt noch die Reihenfolge der Blöcke zufällig mischen
$keys = array_keys($parts);
shuffle($keys);
// Für jeden Schlüssel die Position im gemischten Array abspeichern
put('IV05_01', array_search('1', $keys) + 1);
put('IV05_02', array_search('2', $keys) + 1);
put('IV05_03', array_search('3', $keys) + 1);
put('IV05_04', array_search('4', $keys) + 1);
put('IV05_05', array_search('5', $keys) + 1);
put('IV05_06', array_search('6', $keys) + 1);
put('IV05_07', array_search('7', $keys) + 1);
put('IV05_08', array_search('8', $keys) + 1);
put('IV05_09', array_search('9', $keys) + 1);
put('IV05_10', array_search('10', $keys) + 1);
put('IV05_11', array_search('11', $keys) + 1);
put('IV05_12', array_search('12', $keys) + 1);
put('IV05_13', array_search('13', $keys) + 1);
put('IV05_14', array_search('14', $keys) + 1);
put('IV05_15', array_search('15', $keys) + 1);
put('IV05_16', array_search('16', $keys) + 1);
put('IV05_17', array_search('17', $keys) + 1);
put('IV05_18', array_search('18', $keys) + 1);
put('IV05_19', array_search('19', $keys) + 1);
put('IV05_20', array_search('20', $keys) + 1);
put('IV05_21', array_search('21', $keys) + 1);
put('IV05_22', array_search('22', $keys) + 1);
put('IV05_23', array_search('23', $keys) + 1);
put('IV05_24', array_search('24', $keys) + 1);
put('IV05_25', array_search('25', $keys) + 1);
put('IV05_26', array_search('26', $keys) + 1);
put('IV05_27', array_search('27', $keys) + 1);
put('IV05_28', array_search('28', $keys) + 1);
put('IV05_29', array_search('29', $keys) + 1);
put('IV05_30', array_search('30', $keys) + 1);
put('IV05_31', array_search('31', $keys) + 1);
put('IV05_32', array_search('32', $keys) + 1);
put('IV05_33', array_search('33', $keys) + 1);
put('IV05_34', array_search('34', $keys) + 1);
put('IV05_35', array_search('35', $keys) + 1);
put('IV05_36', array_search('36', $keys) + 1);
put('IV05_37', array_search('37', $keys) + 1);
put('IV05_38', array_search('38', $keys) + 1);
put('IV05_39', array_search('39', $keys) + 1);
put('IV05_40', array_search('40', $keys) + 1);
// Ergebnis als Seitenabfolge festlegen
setPageOrder(
$parts[$keys[0]],
$parts[$keys[1]],
$parts[$keys[2]],
$parts[$keys[3]],
$parts[$keys[4]],
$parts[$keys[5]],
$parts[$keys[6]],
$parts[$keys[7]],
$parts[$keys[8]],
$parts[$keys[9]],
$parts[$keys[10]],
$parts[$keys[11]],
$parts[$keys[12]],
$parts[$keys[13]],
$parts[$keys[14]],
$parts[$keys[15]],
$parts[$keys[16]],
$parts[$keys[17]],
$parts[$keys[18]],
$parts[$keys[19]],
$parts[$keys[20]],
$parts[$keys[21]],
$parts[$keys[22]],
$parts[$keys[23]],
$parts[$keys[24]],
$parts[$keys[25]],
$parts[$keys[26]],
$parts[$keys[27]],
$parts[$keys[28]],
$parts[$keys[29]],
$parts[$keys[30]],
$parts[$keys[31]],
$parts[$keys[32]],
$parts[$keys[33]],
$parts[$keys[34]],
$parts[$keys[35]],
$parts[$keys[36]],
$parts[$keys[37]],
$parts[$keys[38]],
$parts[$keys[39]],
'UGIntro1'
);
Der zweite Block ist nahezu identisch, er enthält in jedem Array allerdings eine Seite mehr und je nach Antwort auf Seite 2 eines jeden Arrays wird entweder Seite 3 präsentiert oder mittels goToPage von Seite 3 zu Seite 4 gesprungen.
In diesem Block werden jedoch beim Testen Arrays/Trials ausgelassen (= nicht im Datensatz enthalten) und/oder mehrfach präsentiert, wobei die Antwort der ersten Präsentation bei der Wiederholung "voreingestellt" ist.
// Seitenkennungen als Array speichern
$parts2= array(
'1' => array('UG11','UG12', 'UG13', 'UG14'),
'2' => array('UG21','UG22', 'UG23', 'UG24'),
'3' => array('UG31','UG32', 'UG33', 'UG34'),
'4' => array('UG41','UG42', 'UG43', 'UG44'),
'5' => array('UG51','UG52', 'UG53', 'UG54'),
'6' => array('UG61','UG62', 'UG63', 'UG64'),
'7' => array('UG71','UG72', 'UG73', 'UG74'),
'8' => array('UG81','UG82', 'UG83', 'UG84'),
'9' => array('UG91','UG92', 'UG93', 'UG94'),
'10' => array('UG101','UG102', 'UG103', 'UG104'),
'11' => array('UG111','UG112', 'UG113', 'UG114'),
'12' => array('UG121','UG122', 'UG123', 'UG124'),
'13' => array('UG131','UG132', 'UG133', 'UG134'),
'14' => array('UG141','UG142', 'UG143', 'UG144'),
'15' => array('UG151','UG152', 'UG153', 'UG154'),
'16' => array('UG161','UG162', 'UG163', 'UG164'),
'17' => array('UG171','UG172', 'UG173', 'UG174'),
'18' => array('UG181','UG182', 'UG183', 'UG184'),
'19' => array('UG191','UG192', 'UG193', 'UG194'),
'20' => array('UG201','UG202', 'UG203', 'UG204'),
'21' => array('UG211','UG212', 'UG213', 'UG214'),
'22' => array('UG221','UG222', 'UG223', 'UG224'),
'23' => array('UG231','UG232', 'UG233', 'UG234'),
'24' => array('UG241','UG242', 'UG243', 'UG244'),
'25' => array('UG251','UG252', 'UG253', 'UG254'),
'26' => array('UG261','UG262', 'UG263', 'UG264'),
'27' => array('UG271','UG272', 'UG273', 'UG274'),
'28' => array('UG281','UG282', 'UG283', 'UG284'),
'29' => array('UG291','UG292', 'UG293', 'UG294'),
'30' => array('UG301','UG302', 'UG303', 'UG304'),
'31' => array('UG311','UG312', 'UG313', 'UG314'),
'32' => array('UG321','UG322', 'UG323', 'UG324'),
'33' => array('UG331','UG332', 'UG333', 'UG334'),
'34' => array('UG341','UG342', 'UG343', 'UG344'),
'35' => array('UG351','UG352', 'UG353', 'UG354'),
'36' => array('UG361','UG362', 'UG363', 'UG364'),
'37' => array('UG371','UG372', 'UG373', 'UG374'),
'38' => array('UG381','UG382', 'UG383', 'UG384'),
'39' => array('UG391','UG392', 'UG393', 'UG394'),
'40' => array('UG401','UG402', 'UG403', 'UG404'));
// Jetzt noch die Reihenfolge der Blöcke zufällig mischen
$keys2 = array_keys($parts2);
shuffle($keys2);
// Für jeden Schlüssel die Position im gemischten Array abspeichern
put('IV06_01', array_search('1', $keys2) + 1);
put('IV06_02', array_search('2', $keys2) + 1);
put('IV06_03', array_search('3', $keys2) + 1);
put('IV06_04', array_search('4', $keys2) + 1);
put('IV06_05', array_search('5', $keys2) + 1);
put('IV06_06', array_search('6', $keys2) + 1);
put('IV06_07', array_search('7', $keys2) + 1);
put('IV06_08', array_search('8', $keys2) + 1);
put('IV06_09', array_search('9', $keys2) + 1);
put('IV06_10', array_search('10', $keys2) + 1);
put('IV06_11', array_search('11', $keys2) + 1);
put('IV06_12', array_search('12', $keys2) + 1);
put('IV06_13', array_search('13', $keys2) + 1);
put('IV06_14', array_search('14', $keys2) + 1);
put('IV06_15', array_search('15', $keys2) + 1);
put('IV06_16', array_search('16', $keys2) + 1);
put('IV06_17', array_search('17', $keys2) + 1);
put('IV06_18', array_search('18', $keys2) + 1);
put('IV06_19', array_search('19', $keys2) + 1);
put('IV06_20', array_search('20', $keys2) + 1);
put('IV06_21', array_search('21', $keys2) + 1);
put('IV06_22', array_search('22', $keys2) + 1);
put('IV06_23', array_search('23', $keys2) + 1);
put('IV06_24', array_search('24', $keys2) + 1);
put('IV06_25', array_search('25', $keys2) + 1);
put('IV06_26', array_search('26', $keys2) + 1);
put('IV06_27', array_search('27', $keys2) + 1);
put('IV06_28', array_search('28', $keys2) + 1);
put('IV06_29', array_search('29', $keys2) + 1);
put('IV06_30', array_search('30', $keys2) + 1);
put('IV06_31', array_search('31', $keys2) + 1);
put('IV06_32', array_search('32', $keys2) + 1);
put('IV06_33', array_search('33', $keys2) + 1);
put('IV06_34', array_search('34', $keys2) + 1);
put('IV06_35', array_search('35', $keys2) + 1);
put('IV06_36', array_search('36', $keys2) + 1);
put('IV06_37', array_search('37', $keys2) + 1);
put('IV06_38', array_search('38', $keys2) + 1);
put('IV06_39', array_search('39', $keys2) + 1);
put('IV06_40', array_search('40', $keys2) + 1);
// Ergebnis als Seitenabfolge festlegen
setPageOrder(
$parts2[$keys2[0]],
$parts2[$keys2[1]],
$parts2[$keys2[2]],
$parts2[$keys2[3]],
$parts2[$keys2[4]],
$parts2[$keys2[5]],
$parts2[$keys2[6]],
$parts2[$keys2[7]],
$parts2[$keys2[8]],
$parts2[$keys2[9]],
$parts2[$keys2[10]],
$parts2[$keys2[11]],
$parts2[$keys2[12]],
$parts2[$keys2[13]],
$parts2[$keys2[14]],
$parts2[$keys2[15]],
$parts2[$keys2[16]],
$parts2[$keys2[17]],
$parts2[$keys2[18]],
$parts2[$keys2[19]],
$parts2[$keys2[20]],
$parts2[$keys2[21]],
$parts2[$keys2[22]],
$parts2[$keys2[23]],
$parts2[$keys2[24]],
$parts2[$keys2[25]],
$parts2[$keys2[26]],
$parts2[$keys2[27]],
$parts2[$keys2[28]],
$parts2[$keys2[29]],
$parts2[$keys2[30]],
$parts2[$keys2[31]],
$parts2[$keys2[32]],
$parts2[$keys2[33]],
$parts2[$keys2[34]],
$parts2[$keys2[35]],
$parts2[$keys2[36]],
$parts2[$keys2[37]],
$parts2[$keys2[38]],
$parts2[$keys2[39]],
'IntroMC'
);
Gibt es alternative Lösungen für meine Herangehensweise, die funktioniert?
Vielen Dank für den Support!