Danke für die Konkretisierung :)
Es gibt unterschiedliche Lösungen. Aber ich würde folgendes empfehlen:
1) Definieren Sie ein Array, welches für jede der 8 Vignetten eine Liste mit den 32 Fragen beinhaltet. Zum Beispiel:
$vignetten = [
1 => ['AA01', 'AA02', ... 'AA31', 'AA32'],
2 => ['AB01', 'AB02', ... 'AB31', 'AB32'],
...
8 => ['AH01', 'AH02', ... 'AH31', 'AH32']
];
Gut ... wenn Sie es tatsächlich so parallel in 8 Rubriken angelegt haben, dann könnte man auch einfach die Rubrik randomisieren. Aber dazu gerne mehr in einer neuen Frage im Support.
Dann sorgen Sie für die Ziehung und Mischung - und zwar in 2er-Päckchen.
$rnd = value('RG01'); // Ihr Zufallsgenerator für die 8 Vignetten
$vignette = $vignetten[$rnd];
$mix = array_chunk($vignette);
shuffle($mix);
Jetzt alles wieder in ein Arrray zusammenfassen:
$fragen = [];
foreach ($mix as $pair) {
$fragen = array_merge($mix, $pair);
}
Und dann können Sie das bequem abspulen. Nachdem Sie mit isset() und registerVarible() sichergestellt haben, dass das ganze Mischen nur einmal passiert, versteht sich.
$frage = loopPage($fragen);
question($frage);