2016-06-23 16 views
2

このトピックについては多くの質問があります。まだ私はそれを解決することはできません。PHPはクラス関数を文字列で置き換えます

は最後のものの何が問題になってい

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

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

動作しない動作しますか?

+0

'エコー$ページ

次のようなものが必要になります。 $ number。 '_text'}() - > value(); ' – splash58

答えて

2

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

か:: - > { 'omdome'

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

変数$numberを解析するのではなく、文字列 "number"を解析しているためです。

はこのようにそれを実行します。

あなたの変数が、文字列定数を使用していないという事実からも、離れて、PHPの文字列を連結する方法ではありません
$number = 1; 
echo $page->omdome{$number}_text()->value(); 
+0

'$ number'はそれを文字列として受け取ります。一重引用符を削除すると、仕事ができます:)。 – Samir

+0

@Samir haha​​ yeah、ただ気づいた –