Frage von MannyMike, 50

PHP wo liegt mein Fehler?

Hey, ich bin absoluter anfänger was php betrifft, c und java sind aber kein problem...

wollte diesen einfachen code ausführen, sodass zuerst die frage und dann alle antworten ausgegeben werden... leider ist die ausgabe lediglich "in get_Q in get_A" .... hoffe mir kann jamand helfen.

class Question
{
    private $q = "Wie heißt du?";
    private $a = array( "Antwort1", "Antwort2", "Antwort3");
    public function get_Q(){
        echo "$q in get_Q";
        return $q;
    }
    public function get_A(){
        return $a;
    }
}
$t = new Question();
$w = $t->get_Q();
echo "$w";
foreach($t->get_A() as $val)
{
    echo "$val";
}

vielen dank

LG

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von webflexer, 20
<?php

class Question {

private $q = "Wie heißt du?";
private $a = array( "Antwort1", "Antwort2", "Antwort3");

public function get_Q() {
$q = $this->q;
echo "$q in get_Q";
return $q;
}

public function get_A(){
$a = $this->a;
return $a;
}

}

$t = new Question();
$w = $t->get_Q();

echo "$w";

foreach($t->get_A() as $val) {
echo "$val";
}
?>
Antwort
von ceevee, 24

leider ist die ausgabe lediglich "in get_Q in get_A"

Öhm, ja... das ist genau das, was diese Zeile

echo "$q in get_Q";

macht. Den Satz "$q in get_Q" ausgeben. Du könntest die Anführungsstriche weglassen, damit der Satz nicht mehr ausgegeben wird. Das sieht aber so aus, als wenn da noch mehr Fehler drin sind... z.B., dass die Variable get_Q nicht definiert ist.

Antwort
von maximilianus7, 15

$q und $a sind in den beiden methoden nicht definiert (daher implizit bei der ausgabe leer)

mit $this->q und $this->a müsstest du weiter kommen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten