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 に答える