Zwei Variablen zusammenführen (OOP)
Marc_CH
- php
Hallo
Ich möchte gerne in einer Klasse zwei Variablen zusammenführen. Also auf die "normale" Art und Weise klappts ja:
$a = "werta";
$$a = "zweiterwerta"; oder ${"$a"} = "zweiterwerta";
echo $werta; (ausgabe: zweiterwerta)
nun möchte ich dies jedoch in einer klasse machen. ich habe bis jetzt folgenden code:
class Klasse {
private $werta = "inhaltvonwerta";
private $wertb = "inhaltvonwertb";
function gibaus($param) {
//wie macht man das hier?
echo $this->$param; oder echo ${"this->$param"};
}
}
$klasse = new Klasse();
$klasse->gibaus("werta");
(ausgabe: nichts...)
echo $begrüßung;
Ich möchte gerne in einer Klasse zwei Variablen zusammenführen.
Nein, das was du möchtest nennt sich variable Variablen verwenden.
class Klasse {
private $werta = "inhaltvonwerta";
function gibaus($param) {
//wie macht man das hier?
echo $this->$param; oder echo ${"this->$param"};
Die erste Variante wäre es. $this steht ja fest. Statt dem Namen "werta" ($this->werta) möchtest du eine Variable angeben. Dann darf nur dieser Name der variable Teil werden.
$klasse = new Klasse();
$klasse->gibaus("werta");
(ausgabe: nichts...)
Das kann ich so nicht nachvollziehen, ich erhalte inhaltvonwerta (mit der ersten Methode von oben). Vielleicht ist PHP gesprächiger, wenn du das error_reporting auf E_ALL stellst.
Im Allgemeinen gibt es je nach konkretem Anwendungsfall bessere Möglichkeiten auf variable Werte zuzugreifen als einen variablen Variablennamen dafür zu verwenden.
echo "$verabschiedung $name";
Hallo,
class Klasse {
private $werta = "inhaltvonwerta";
private $wertb = "inhaltvonwertb";function gibaus($param) {
//wie macht man das hier?
echo $this->$param; oder echo ${"this->$param"};
}
}$klasse = new Klasse();
$klasse->gibaus("werta");
(ausgabe: nichts...)
Um auf Variablen innerhalb der Klasse zuzugreifen, schreibst du folgendes:
echo $this->werta;
echo $this->wertb;
für $param in deiner Funktion gibaus, einfach
echo $param;
Gruß,
Kerstin