5

是否可以连接对象的名称?下面的好像不行。。

试图调用 $node->field_presenter_en;

$lang = 'en';

$node->field_presenter_.$lang;

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

谢谢!

4

3 回答 3

20

尝试:

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

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

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

$node->{'field_presenter_'.$lang}
于 2013-02-02T17:51:06.147 回答
3
$field_presenter = 'field_presenter_'.$lang;
$node->$field_presenter;
于 2013-02-02T17:53:19.797 回答
2
<?php
class A {
    public $prop = 'hello';
}

$a = new A();
echo $a->{'pro' . 'p'}; // hello
于 2013-02-02T17:53:26.737 回答