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

Liebes Forum,

ich programmiere einen Array, bestehend aus weiteren Arrays wie weiter unten angezeigt.

$expchce = array (
	array (
		1,
		1,
		2,
		1,
		4,
		0,
		1,
		0 
	),
	array (
		2,
		1,
		2,
		1,
		3,
		1,
		0,
		0 
	),
	array (
		3,
		1,
		2,
		0,
		2,
		1,
		1,
		1 
	),
	array (
		4,
		1,
		1,
		1,
		0,
		0,
		1,
		1 
	),
	array (
		5,
		1,
		1,
		0,
		5,
		0,
		0,
		1 
	),
	array (
		6,
		1,
		1,
		0,
		4,
		1,
		0,
		0 
	),
	array (
		7,
		1,
		0,
		1,
		1,
		0,
		0,
		1 
	),
	array (
		8,
		1,
		0,
		0,
		5,
		1,
		1,
		0 
	),
	array (
		9,
		0,
		2,
		1,
		5,
		0,
		0,
		0 
	),
	array (
		10,
		0,
		2,
		0,
		0,
		1,
		0,
		1 
	),
	array (
		11,
		0,
		2,
		0,
		1,
		0,
		1,
		1 
	),
	array (
		12,
		0,
		1,
		1,
		1,
		1,
		1,
		0 
	),
	array (
		13,
		0,
		1,
		1,
		2,
		1,
		0,
		1 
	),
	array (
		14,
		0,
		1,
		0,
		3,
		0,
		1,
		0 
	),
	array (
		15,
		0,
		0,
		1,
		4,
		1,
		1,
		1 
	),
	array (
		16,
		0,
		0,
		0,
		2,
		0,
		0,
		0 
	) 
);

registerVariable('expchce');

An Stelle (A) im Fragebogen funktioniert der Code oben. An einer weiteren Stelle (B) im Fragebogen (hier geht es um einen anderen Aspekt), funktioniert er nicht. Ich habe den Code neu geschrieben, ihn aber auch zum Test von A nach B kopiert. Mit Hilfe der folgenden beide Zeilen kann ich sehen, dass der
Array eine Länge von 0 hat (und auf Index 2 kein Wert hinterlegt ist).

html('<p>Länge des Arrays vignetten: '.count($expchce).'</p>');
html('<p>Eintrag mit Index 2: '.$expchce [1].'</p>');

Hieran ändert sich auch nichts, wenn ich die einzelnen Arrays des Arrays $expchce in " ' " packe, also z.B.:

$expchce = array (
	'array(	1	,	1	,	2	,	1	,	4	,	0	,	1	,	0	)',
	'array(	2	,	1	,	2	,	1	,	3	,	1	,	0	,	0	)' 
); );

Weiß jemand, was hier das Problem ist?

Danke im Voraus!

Gruß
ha

in SoSci Survey (dt.) by s010182 (155 points)
edited by s010182

2 Answers

0 votes

An Stelle (A) im Fragebogen funktioniert der Code oben. An einer
weiteren Stelle (B) im Fragebogen (hier geht es um einen anderen
Aspekt), funktioniert er nicht.

Der Code "oben" ist ja nur die Definition des Arrays. Aber es geht um den Abruf, oder? Der sollte eigentlich überall gleich funktionieren - vorausgesetzt, das definierte Array ist verfügbar. Dafür sollte das registerVariable() sorgen. Das klappt aber natürlich nur, wenn Sie den Fragebogen auf der Seite starten (oder vorher), wo das registerVariable() steht.

Wenn Sie direkt ab Stelle B starten, dann ist das ein neues Interview und das Array ist noch nicht definiert.

Falls es daran nicht liegt, müssten Sie bitte den Fehler (was funktioniert nicht, welche Fehlermeldung wird gezeigt) nochmal genauer beschreiben.

by SoSci Survey (60k points)
0 votes

Vielen Dank für Ihre Antwort.

Der Array wird nach dessen Definition an Stelle B (also auf derselben Fragebogenseite 75), als Variable registriert (so, wie es in dem oben gezeigten Code auch steht).

Ich rufe den Fragebogen auf der Seite zuvor auf und erhalte unterhalb der beiden Prüfzeilen ("Länge des Arrays expche" und "Eintrag mit Index 2"), deren Code auf Seite 75 unterhalb registerVariable('expchce') steht, folgende Fehlermeldungen:

by s010182 (155 points)
...