0 votes
in SoSci Survey (dt.) by s276668 (140 points)
closed by SoSci Survey

In meiner Umfrage möchte ich bestimmte Seiten paarweise mischen und andere Seiten immer an derselben Stelle belassen. Ich habe versucht, den folgenden Code zu verwenden, aber obwohl ich keine Fehlermeldung erhalte, kann ich keine Mischung der Seiten beobachten, die ich mischen wollte. Habe ich etwas vergessen?

/ Initialize arrays with fixed pages before and after the randomized section
$fixedPagesBefore = array('WE', 'IC', 'IL');
$fixedPagesAfter = array('WP', 'WA', 'LP', 'LA', 'MS', 'PA', 'DE', 'end');

// Array of page pairs to be randomized
$pagePairs = array(
array('P1P', 'P1A'),
array('P2P', 'P2A'),
array('P3P', 'P3A'),
array('P4P', 'P4A'),
array('P5P', 'P5A'),
array('P6P', 'P6A'),
array('P7P', 'P7A'),
array('P8P', 'P8A'),
);

// Shuffle the array of page pairs
shuffle($pagePairs);

// Insert the 'AC' page at the 12th position (11th index)
array_splice($pagePairs, 11, 0, array(array('AC')));

// Flatten the array of page pairs
$randomizedPages = array();
foreach ($pagePairs as $pair) {
if (is_array($pair)) {
$randomizedPages = array_merge($randomizedPages, $pair);
} else {
$randomizedPages[] = $pair;
}
}

// Merge the fixed pages with the randomized pages
$fullPageOrder = array_merge($fixedPagesBefore, $randomizedPages, $fixedPagesAfter);

Vielen Dank für die Hilfe!

closed with the note: There is insufficient information to provide a helpful answer.
by SoSci Survey (327k points)
// Insert the 'AC' page at the 12th position (11th index)
array_splice($pagePairs, 11, 0, array(array('AC')));

In your array $pagePairs, you only have 8 pairs, so this is the counter to use for inserting. And then check if the result looks good:

debug($pagePairs);

Also make sure, you're using setPageOrder() in the end to have any effect:

setPageorder($fullPageOrder);

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

...