2016-06-23 13 views
2

Viele Fragen zuvor zu diesem Thema. Trotzdem kann ich es nicht lösen.PHP ersetzen Klasse Funktion mit einer Zeichenfolge

funktioniert

echo $page->omdome1_text()->value(); 

Funktioniert nicht

$number = 1; 
echo $page->omdome{'number'}_text()->value(); 

Was mit dem letzten falsch?

+0

'echo $ Seite -> { 'omdome'. $ Nummer. '_text'}() -> value(); ' – splash58

Antwort

2

Das ist nicht der Weg ist, Strings in PHP verketten, auch abgesehen von der Tatsache, dass Sie nicht mit Ihrer Variablen sind aber eine konstante String.

Sie wäre so etwas wie benötigen:

$number = 1; 
echo $page->{"omdome{$number}_text"}()->value(); 

oder:

$number = 1; 
$method = "omdome{$number}_text"; 
echo $page->{$method}()->value(); 
0

Anstatt die Variable $number zu analysieren, parsen Sie die Zeichenfolge "number".

Machen Sie es wie folgt aus:

$number = 1; 
echo $page->omdome{$number}_text()->value(); 
+0

'$ number' wird es immer noch als String nehmen. Das Entfernen von einfachen Anführungszeichen erledigt die Aufgabe :). – Samir

+0

@Samir haha ​​yeah, habe das gerade bemerkt –

Verwandte Themen