PHP - Concatenate对象类名

时间:2013-02-02 17:49:22

标签: php concatenation

是否可以连接对象的名称? 以下似乎不起作用..

尝试拨打$ node-> field_presenter_en;

$lang = 'en';

$node->field_presenter_.$lang;

${$node->field_presenter_.$lang};

谢谢!

3 个答案:

答案 0 :(得分:16)

尝试:

$field_presenter = 'field_presenter_'.$lang;
$node->$field_presenter;

这称为变量变量。更多信息: http://php.net/manual/en/language.variables.variable.php

编辑: 用户nickb在下面建议了一个更优雅的解决方案,我将在这个答案中加入以便于阅读(nickb:如果你想让我删除它,请告诉我):

$node->{'field_presenter_'.$lang}

答案 1 :(得分:3)

$field_presenter = 'field_presenter_'.$lang;
$node->$field_presenter;

答案 2 :(得分:2)

<?php
class A {
    public $prop = 'hello';
}

$a = new A();
echo $a->{'pro' . 'p'}; // hello