オブジェクトの名前を連結することは可能ですか? 以下はうまくいかないようです..
$node->field_presenter_en; を呼び出そうとしています。
$lang = 'en';
$node->field_presenter_.$lang;
${$node->field_presenter_.$lang};
ありがとう!
オブジェクトの名前を連結することは可能ですか? 以下はうまくいかないようです..
$node->field_presenter_en; を呼び出そうとしています。
$lang = 'en';
$node->field_presenter_.$lang;
${$node->field_presenter_.$lang};
ありがとう!
試す:
$field_presenter = 'field_presenter_'.$lang;
$node->$field_presenter;
これを可変変数と呼びます。詳細はこちら: http://php.net/manual/en/language.variables.variable.php
編集: ユーザー nickb は、以下のはるかに洗練されたソリューションを提案しています。読みやすくするために、この回答に組み込みます (nickb: これを削除してほしい場合はお知らせください)。
$node->{'field_presenter_'.$lang}
$field_presenter = 'field_presenter_'.$lang;
$node->$field_presenter;
<?php
class A {
public $prop = 'hello';
}
$a = new A();
echo $a->{'pro' . 'p'}; // hello