0 votes
in SoSci Survey (dt.) by s222544 (565 points)

Hallo SoSci Survey Online Support,

ich möchte in meinem Projekt die mithilfe von PHP Code berechneten Variablen, die derzeit nur im Fragenbogen angezeigt werden, auch in der Excel Datei speichern.

Es sind 4 Variablen, sodass ich die interne Variable EX10 mit 4 items angelegt habe; die Items sind nach den zu speichernden Variablen benannt.

Folgender Code funktioniert leider nicht:
putList('EX10', array_values($weight_cash1,$weight_ak1,$weight_bo1,$weight_go1));

Es kam folgender Fehler: array_values() expects exactly 1 argument, 4 given

Deshalb habe ich der Anleitung (https://www.soscisurvey.de/help/doku.php/de:create:functions:putlist) folgend, array_values entfernt:

putList('EX10', ($weight_cash1,$weight_ak1,$weight_bo1,$weight_go1));

Es kam der Fehler: Fehler im Fragebogen: Befehl oder String (Text) nicht abgeschlossen

Danach habe ich es mit valuelist() versucht:

putList('EX10', array_values(valueList($weight_cash1,$weight_ak1,$weight_bo1,$weight_go1, NULL, 'label')));

Es erschien die Warnung: You have specified an invalid value (19.574451113726) for parameter 3 in function valueList(). This parameter is ignored. 19.5 ist der korrekte Wert für $weight_bo1.

Darunter erschien der Fehler: In der Funktion valueList() wurde ein ungültiges Argument (40.042275709414) vom Typ double verwendet. 40.04 ist der korrekte Wert für $weight_cash1.

So langsam gehen mir die Ideen aus, wie 4 einfache Zahlenwerte in der internen Variable EX10 speichern kann.

Für Hilfe bin ich sehr dankbar!

1 Answer

0 votes
by SoSci Survey (305k points)

Die Funktion array_values() liefert aus einem Array die Werte zurück, vor allem dann, wenn die Schlüssel im Array nicht numerisch sind, sondern Strings. Sie erwartet als Parameter also ein Array ... und ist nicht das, was Sie benötigen. Versuchen Sie es bitte mit array() oder einfach mit eckigen Klammern.

putList('EX10', array($weight_cash1,$weight_ak1,$weight_bo1,$weight_go1));
// oder gleichbedeutend
putList('EX10', [$weight_cash1,$weight_ak1,$weight_bo1,$weight_go1]);

So langsam gehen mir die Ideen aus, wie 4 einfache Zahlenwerte in der internen Variable EX10 speichern kann.

Noch mehr Ideen? Okay ... alternativ können Sie auch put() verwenden.

put('EX10_01', $weight_cash1);
put('EX10_02', $weight_ak1);
put('EX10_03', $weight_bo1);
put('EX10_04', $weight_go1);
by s222544 (565 points)
Super, vielen Dank für die ausführliche Hilfe! :)

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

...