Hallo! Ich habe folgenden Code, mit dem die Reihenfolge von Seiten-Blöcken rotiert werden soll. Nun versuche ich im unteren Teil des Codes, die zufällige Reihenfolge der Blöcke im Datensatz zu speichern:
$groups = [
'A1-A3' => 1,
'B1-B3' => 1,
'C1-C3' => 1,
'D1-D3' => 2,
'E1-E3' => 2,
'F1-F3' => 2,
'G1-G3' => 3,
'H1-H3' => 3,
'I1-I3' => 3
];
// Die Seiten nicht direkt mischen, sondern deren Positionen
$blocks = array_keys($groups);
shuffle($blocks);
// Nun die Ränge speichern - und die neue Abfolge der Seiten in $random speichern
$random = [];
for ($i=0; $i<count($blocks); $i++) {
// Rang speichern
$id = id('IV01', $blocks[$i] + 1);
put($id, $i + 1);
// Seite in der Abfolge speichern
$random[$i] = $groups[$blocks[$i]];
}
// Neue Seitenabfolge setzen
// Nach der letzten Seite soll es auf Seite "T1" weitergehen
setPageOrder($random, 'T1');
Für die Zeile $id = id('IV01', $blocks[$i] + 1);
wird mir allerdings die Fehlermeldung "non-numeric value encountered' ausgegeben. Haben Sie eine Idee, was zu ändern ist? Wird in $blocks[$i] + 1
keine numerischer Wert gespeichert?
Ich freue mich über Ihre Hilfe. :)