0 votes
in SoSci Survey (dt.) by s008903 (190 points)

Hallo,

ich arbeite an einer Befragung zu zwei Zeitpunkten (t1 und t2). Hierfür wurden bei t1 bereits Codes von jeder person generiert. Bei t2 soll nun ein Experiment folgen, allerdings soll innerhalb von bestimmten Subgruppen randomisiert werden, die sich auf Basis von t1 Antworten ergeben.

Ich würde gerne zu Beginn von t2 den Code abfragen und schauen in welche Subgruppe die Person gehört und diese Info abspeichern. Ich würde also den Code zu Beginn von t2neu erstellen lassen, ein Array mit den Codes von t1 erstellen (mit Schlüsseln für die Subgruppen) und dann suchen lassen ('aaaaa1' etc. sind mal Beispielcodes):

 $people = array(  
 
    1 => array('aaaaa1', 'bbbbb1'
 ),
    2 => array('ccccc1', 'ddddd1'
 )
 );

 $key = array_search($Code, $people);
 replace('%key%', $key);
 registerVariable('key');`

Leider wird hier nichts in $key abgelegt. Ich nehme an, dass es daran liegt, dass ich pro Schlüssel mehrere Elemente habe. Dies wäre meinem Verständnis nach mit array_column innerhalb von array_search möglich, oder? Ich bin mir aber erstens nicht ganz sicher und zweitens ist diese Funktion nicht freigeschalten.

Ich freue mich über hilfreiches Feedback.

Beste Grüße,
Jerome Olsen

1 Answer

+1 vote
by SoSci Survey (327k points)
selected by s008903
 
Best answer

Die Funktion array_search() sucht nur in einer Dimension des Arrays - eine Zuordnung, wie Sie hier planen leistet die Funktion nicht. Was halten Sie denn von folgender Option:

if (in_array($code, $people[1])) {
  $key = 1;
} elseif (in_array($code, $people[2])) {
  $key = 2;
} else {
  // Fehlermeldung
}

Falls Sie mehr als 2 Gruppen haben, würde sich natürlich eine FOR-Schleife anbieten.

Eine Alternative Lösung, falls Sie die Codes ohnehin schon in einer Tabelle haben, wäre die "Datenbank für Inhalte", wo Sie den Code einfach als Schlüssel verwenden und die Zuordnung als Datum speichern könnten.

by s008903 (190 points)
Perfekt, vielen Dank. Klappt jetzt.

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

...