2016-06-23 2 views
2

Много вопросов перед тем об этой теме. Тем не менее я не могу это решить.PHP замените функцию класса на строку

ли работать

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

Не работает

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

Что случилось с последним?

+0

'Эхо $ страница -> { 'omdome'. $ number. '_text'}() -> value(); ' – splash58

ответ

2

Это не способ конкатенации строк в PHP, даже независимо от того, что вы не используете переменную, но постоянную строку.

Вам нужно будет что-то вроде:

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

или:

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

Поскольку вместо разбора переменной $number вы разбираете строку «число».

Делают это так:

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

'$ number' все равно возьмет его как строку. Удаление одиночных кавычек будет выполнять задание :). – Samir

+0

@ Самир ха-ха да, только что заметил, что –

Смежные вопросы