Es sind 3 Blöcke (1-3) à 3 Items
Ich verstehe das nun so, dass innerhalb einer Frage (Skala) jeweils 9 Items sind. Ich behandle das deshalb exemplarisch für eine Frage.
Legen wir für die 3x3=9 Items eine geeignete Datenstruktur an:
$items = [
[1,2,3],
[4,5,6],
[7,8,9]
];
Das Mischen können wir aus dieser Anleitung übernehmen.
// Jeden Block in sich mischen
for ($i=0; $i<count($items); $i++) {
shuffle($items[$i]);
}
// Das übergeordnete Array mischen
shuffle($items);
Dieses verschachtelte Array müssen wir noch "ebnen":
$itemlist = [];
foreach ($items as $teilliste) {
$itemliste = array_merge($itemliste, $teilliste);
}
Und schon haben wir ein entsprechend gemischtes Array, das wir verwenden können.
question('NF17', $itemliste);
Je nachdem, ob dieselbe Reihenfolge auch beim Neu-Laden der Seite oder für andere Fragen erhalten bleiben/verwendet werden soll, ist noch ein registerVariable() und isset() erforderlich: isset()