Danke für den Screenshot. Es gibt tatsächlich keine (!) Variable SI03_01 - zwar gibt es eine Antwortoption 01 in dieser Frage, aber keine Variable dazu. Denn eine einfachen Auswahl (welche diese Frage ist) hat nur eine Variable (SI03).
Der oben genannte Code ist für Skalenbatterien. Wenn Sie nur diese eine Variable umkodieren möchten, reicht ein einfacherer Code.
$orgCode = value('SI03');
$output = 'IV15_01'; // Hier wird eine Variable angegeben
// Hier die eigentliche Umkodierung - nur positive Codes umkodieren
if ($orgCode > 0) {
// Subtrahieren von 1
$newCode = $orgCode - 1;
} else {
// Fehlercodes beibehalten
$newCode = $orgCode;
}
// put() speichert den Wert in einer internen Variable
put($output, $newCode);
Wenn Sie mehrere solche Fragen haben, können Sie das auch "en block" abarbeiten. Defineiren Sie dafür zunächst eine Liste von Eingabe- und Ausgabevariablen und arbeiten Sie diese dann mit einer Schleife (foreach) ab.
$variables = [
'SI03' => 'IV01_01',
'SI04' => 'IV01_02',
'SI05' => 'IV01_03'
];
foreach ($variables as $input => $output) {
$orgCode = value($input);
if ($orgCode > 0) {
$newCode = $orgCode - 1;
} else {
$newCode = $orgCode;
}
put($output, $newCode);
}