Übersetzungen dieser Seite:
 

Dies ist eine alte Version des Dokuments!


registerVariable()

void registerVariable(string VariablenName)

Eine PHP-Variable ist normalerweise nur innerhalb eines PHP-Code Elements gültig. Mittels registerVariable() kann man eine Variable für alle folgenden PHP-Code Elemente verfügbar machen.

  • VariablenName
    Ein String (in Anführungszeichen) mit dem Namen der Variable. Es darf nicht die Variable selbst sein (z.B. $item), ein String mit dem Namen der Variable (z.B. 'item').

Beispiel 1

Im folgenden Beispiel werden auf Seite 1 zufällig drei Items aus den Items der Frage „AB01“ gezogen. Anschließend soll die Frage mit diesen drei Items gestellt werden – und auf einer späteren Seite soll Frage „AB02“ mit eben denselben drei Items abgefragt werden.

// Drei Items aus Frage AB01 ziehen
$itemliste = random_items('AB01', 3);
// Die entsprechende Frage anzeigen
question('AB01', $itemliste);
// Die Variable $itemliste registrieren
registerVariable('itemliste');

Weil die Variable $itemliste für weitere Fragebogen-Seiten verfügbar gemacht wurde, können Sie in einem anderen PHP-Code Element einfach mit $itemliste weiterarbeiten.

question('AB02', $itemliste);

Beispiel 2

Auf Seite 4 im Fragebogen soll anhand eines recht komplexen Filters ermittelt werden, ob der Teilnehmer in Gruppe 1 (Neukunden oder Kunden in Anbahnung eines Geschäfts) oder Gruppe 2 (Altkunden) der Untersuchung fällt. Aufgrund dieser Einordnung sollen später im Interview unterschiedliche Fragen angezeigt werden.

if (
  (value('BB01') == 1) or
  ((value('BB02') < 3) and (value('BB04') == 2)
) {
  $gruppe = 1;
} else {
  $gruppe = 2;
}
registerVariable('gruppe');

Auch hier kann später einfach mit der Variable $gruppe gearbeitet werden.

if ($gruppe == 1) {
  question('BX01');
} else {
  question('BX02');
}
if ($gruppe == 1) {
  question('BX04', '1-3,5,6');
} else {
  question('BX04', '1-5,7,9');
}

Tipp: Weil die Gruppe auch in der Auswertung relevant sein werden, wäre hier die Verwendung von put() und auf späteren Seiten value() u.U. zielführender.

Beispiel 3

4 Fragen („AB01“ bis „AB04“) sollen zusammen mit 4 zugehörigen Textbausteinen („text1“ bis „text4“) angezeigt werden – aber in zufälliger Reihenfolge. Dafür wird auf Seite 1 des Fragebogens ein Array gemischt und via registerVariable() für die folgenden Seiten verfügbar gemacht. Details s. Kapitel Rotation.

$fragen = array(
  array('AB01', 'text1'),
  array('AB02', 'text2'),
  array('AB03', 'text3'),
  array('AB04', 'text4')
);
shuffle($fragen);
variableRegister('fragen');

Auf den folgenden 4 Seiten wird jeweils die Frage und der Textbaustein angezeigt, die an der entsprechenden Position im Array steht.

text($fragen[0][1]);
question($fragen[0][0]);
text($fragen[1][1]);
question($fragen[1][0]);
text($fragen[2][1]);
question($fragen[2][0]);
text($fragen[3][1]);
question($fragen[3][0]);
de/create/functions/registervariable.1419195533.txt.gz · Zuletzt geändert: 21.12.2014 21:58 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki