Ich gehe einmal davon aus, dass Sie die Rotation innerhalb der Blöcke nicht kontrollieren ... oder doch?
Das Risiko, dass bei 2 Gruppen (Geschlechtern) das Verhältnis der A/B-Varianten variiert ist überschaubar, aber Sie können natürlich eine Block-Randomisierung verwenden, wenn Sie auf Nummer sicher gehen möchten.
Sie würden dann per Zufallsgenerator die Abfolge ziehen (1=A/B, 2=B/A). Für die gemischten Seiten bauen Sie zwei Arrays, die Sie mittels shuffle()
rotieren. Und dann fügen Sie sie in Abhängigkeit der gezogenen Zufallszahl zusammen.
$seitenA = ['A1', 'A2', 'A3'];
$seitenA = ['B1', 'B2', 'B3'];
shuffle($seitenA);
shuffle($seitenB);
// Variable $code wäre das Ergebnis der Block-Randomisierung
if ($code == 1) {
setPageOrder($seitenA, $seitenB);
} else {
setPageOrder($seitenB, $seitenA);
}