Ich habe das jetzt etwas anders gelöst. Ich kam leider mit array_key_exists() nicht so zurecht und mein anderer Code hatte Fehler. Das hier läuft jetzt aber super :
Zuerst habe ich zwei Funktionen erstellt die unter dem Reiter PHP-Funktionen stehen und daher für alle Seiten verfügbar sind:
// Funktion zum löschen der leeren key- value Paare in Arrays (anstatt array_key_exists();)
function remove_empty_keys($array) {
$filtered_array = array();
foreach ($array as $key => $value) {
if (!empty($value)) {
$filtered_array[$key] = $value;
}
}
return $filtered_array;
}
// Funktion zum Anzeigen der Key-Value Paare (anstatt debug(); oder var_dump(); )
function display_array($array) {
foreach ($array as $key => $value) {
html("$key : $value");
}
}
Dann konnte ich auf der Seite den folgenden Code verwenden:
// Serial in die Variable key laden
$key = caseSerial();
// Datenbank anhand der Serial als Array in $inhalt laden
$inhalt = dbGet($key);
// leeren Array $items erstellen
$items = [];
// array splitten, da ich hier nur die letzten 6 Spalten meiner Datenbank brauche
$inhalt2 = array_slice($inhalt,6,6);
// hier wird die oben genannte Funktion verwendet. Leere Key-Value Paare werden gelöscht
$inhalt3 = remove_empty_keys($inhalt2);
// zum Testen wird hier mit der anderen Funktion der Array angezeigt (später löschen)
display_array($inhalt3);
// Ab hier dann wie nach der Anleitung, außer, dass für $items keine zusätzliche Bedingung geschrieben werden muss, da wir jetzt alle Array Elemente darstellen können
foreach ($inhalt3 as $i => $text) {
$items[] = $i + 1; // Falls Sie die Itemliste brauchen
replace('%Mat'.($i + 1).'%', $text);
}
if (count($items) == 0) {
goToPage('next');
}
// Zweite Frage mit diesen Items stellen
question('A121', $items);