Not defined-problem mit klassen-Array
Pit Stopp
- php
Hi zusammen,
ich habe innerhalb einer klasse ein mehdimensionales Array gesetzt mit fragen und Antworten.
Wenn ich innerhalb der Klasse auf diese Variablen zugreifen möchte, dann geht es allerdings nicht, weil sie "not defined" sind.
Im Template kann ich sie alleridngs auslesen...
Was mache ich da falsch?
Hat einer einen Tipp für mich?
class c_Frage_antowrt extends c_templatesystem
{
// Frage-Antwort Kombination
var $fakombi = array(
0 => array( "FRAGE"=>"...",
"ANTWORT1"=>"...",
"ANTWORT2"=>"...",
"ANTWORT3"=>"...",
"KORREKT"=>2),
1 => array( "FRAGE"=>"...",
"ANTWORT1"=>"...",
"ANTWORT2"=>"...",
"ANTWORT3"=>"...",
"KORREKT"=>2),
2 => array( "FRAGE"=>"...",
"ANTWORT1"=>"...",
"ANTWORT2"=>"...",
"ANTWORT3"=>"...",
"KORREKT"=>2),
3 => array( "FRAGE"=>"...",
"ANTWORT1"=>"...",
"ANTWORT2"=>"...",
"ANTWORT3"=>"...",
"KORREKT"=>1),
4 => array( "FRAGE"=>"...",
"ANTWORT1"=>"...",
"ANTWORT3"=>"...",
"KORREKT"=>1),
5 => array( "FRAGE"=>"...",
"ANTWORT1"=>"...",
"ANTWORT2"=>"...",
"ANTWORT3"=>"...",
"KORREKT"=>3),
);
public function genSite($template)
{ ...}
danke für jeden Hinweis, pit Stopp
Hi Pit!
Wenn ich innerhalb der Klasse auf diese Variablen zugreifen möchte, dann geht es allerdings nicht, weil sie "not defined" sind.
Wo und wie greifst du darauf zu?
MfG H☼psel
Innerhalb der Funktion genSite:
bspw. mit diesem Auszug.
$ant = $_POST['ant'];
$quest = $_POST['quest'];
for ($i=0;$i<6;$i++):
$emailtext .= $fakombi[$i]["FRAGE"];
habe wirklich alle mir erdenklichen varianten versucht das Array anzusprechen...
Hi Pit!
Was macht der Doppelpunkt hinter der for-Schleife?
Was bringt dir ein var_dump() an der Stelle, wo du auf das Array zugreifen möchtest?
Warum durchläufst du das Array nicht mit foreach?
Fragen über Fragen... =)
MfG H☼psel
gute Fragen,
habe Dir Fragmente geschickt, die vom testen übrig gebliben sind.
Bringe, dass erstmal wieder in Ordnung.
danke schon mal.
bis später
echo $begrüßung;
Was macht der Doppelpunkt hinter der for-Schleife?
Vermutlich Alternative syntax for control structures. Genau kann man das aus dem Ausschnitt nicht sagen, weil zur syntaktischen Vollständigkeit ein endfor; fehlt.
echo "$verabschiedung $name";
echo $begrüßung;
$emailtext .= $fakombi[$i]["FRAGE"];
$fakombi ist weder $this->fakombi noch $objekt->fakombi sondern eine ganz normale lokale Variable.
habe wirklich alle mir erdenklichen varianten versucht das Array anzusprechen...
Grundlagenwissen der OOP. Wenn man auf Mitglieder eines Objekts zugreifen will, muss man erstmal das Objekt benennen. Zumindest unter PHP ist das $this explizit erforderlich, wenn man das aktuelle Objekt meint.
echo "$verabschiedung $name";