Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Hallo, hab folgendes Problem: Mein Design in st ein 3x3x3x3 Design. Aus dem Forum habe ich bereits einen Asatz zur Lösung komme aber final nicht weiter.

Zioel soll sein, aus einer Kombi von 81 Optionen immer drei (zufällig aus den 81) gegenüberzustellen mit einer Auswahlentscheidung.

Was ich bisher gemacht habe:

-> Zufallsgenerator angelegt, mit 81 Zetteln un drei Ziehungen

-> php code nach ähnlichem Bsp. in Forum:

$kombinationen = array(
1	=>	array('	>4h	','	5.49	','	oec_low	','	cash	'),
2	=>	array('	<=>4h	','	5.49	','	oec_low	','	cash	'),
3	=>	array('	<=>1h	','	5.49	','	oec_low	','	cash	'),
...
81	=>	array('	<=>1h	','	2.49	','	oec_high	','	bill	')
);
$variants = valueList('DC01');
debug($variants);                                                                # hier weiß ich nicht, ob das nötig ist
foreach ($variants as $varID => $code) {
  $data = $kombinationen[$code];
  foreach ($data as $i => $text) {
    replace('%'.$varID.'_'.($i+1).'%', $text);
  }
}

-> Jetzt kommt das Problem. Ich kann die Texte nicht einbauen/abrufen. Sie müssten doch in den Platzhaltern (bei mir %DC01x01% bis %DC01x01% gespeichert sein), die ich beliebig augeben kann).

Danke für die Hilfe.

in SoSci Survey (dt.) by s047704 (130 points)

1 Answer

0 votes

Sie belegen die Platzhalter in der folgenden Zeile:

replace('%'.$varID.'_'.($i+1).'%', $text);

Die Variablen IDs sind DC01x01 u.s.w. Daran hängen Sie noch einen Unterstrich und den Index aus dem Array plus 1.

Das ergibt dann Platzhalter wie %DC01x01_1%, %DC01x01_2% bis %DC01x03_4%.

by SoSci Survey (102k points)
geht irgend wie nicht
mit

replace('%'.$DC01x01.'_'.($i+1).'%', $text);

kommt folgende Fehlermeldung:

Der erste für replace() angegebene Parameter (%_1%) ist als Platzhalter zu kurz. Gültige Platzhalter sollten mindestens 3 Zeichen lang sein. Kürzere Platzhalter werden in künftigen Versionen von SoSci Survey nicht mehr unterstützt werden.
Bitte lassen Sie das $varID unverändert stehen:

replace('%'.$varID.'_'.($i+1).'%', $text);
...