PHP - class name of the Concatenate object

Can object name be concatenated? The following doesn't work.

Trying to call $ node -> field_presenter_en;

$lang = 'en';

$node->field_presenter_.$lang;

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

      

Thank!

+3


source to share


3 answers


Try:

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

      

This is called variable variables. More info here: http://php.net/manual/en/language.variables.variable.php



Edit: User nickb suggested a much more elegant solution below and I'll include in this answer for ease of reading (nickb: let me know if you'd like me to remove this):

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

      

+15


source


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

      



+3


source


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

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

      

+2


source







All Articles