Sie definieren hier ein Array aus kurzen Texten ("TE01" u.s.w.). Da fehlt schlicht und ergreifend noch die Verknüpfung, dass es sich um Fragen und Variablen handelt.
Dafür müssten Sie die Kennung erstmal einzeln durchgehen und für jede mittels getItems()
die fehlenden Items ermitteln:
$miss01 = array('TE01', 'TE02', 'TE03', 'TE04', 'TE05', 'TE06', 'TE07', '==', '');
foreach ($miss01 as $qstID) {
$missings = getItems($qstID, 'missing');
}
Aus dieser Liste können Sie jeweils die 4 entfernen.
$miss01 = array('TE01', 'TE02', 'TE03', 'TE04', 'TE05', 'TE06', 'TE07', '==', '');
foreach ($miss01 as $qstID) {
$missings = getItems($qstID, 'missing');
$missings = array_diff($missings, 4);
}
Und dann können Sie eigentlich abbrechen, wenn irgend eines fehlt:
$miss01 = array('TE01', 'TE02', 'TE03', 'TE04', 'TE05', 'TE06', 'TE07', '==', '');
$anyMissing = false;
foreach ($miss01 as $qstID) {
$missings = getItems($qstID, 'missing');
$missings = array_diff($missings, 4);
if (!empty($missings)) {
$anyMissing = true;
break;
}
}
if ($anyMissing) {
text('missingTE');
}