solotony
@solotony
покоряю пик Балмера

Что делает выражение $this->$x?

class TestThis
{
    public $a;
    public $b;
    public function  f1($a=1, $b=2)
    {
        $this->a = $a;
        $this->$b = $b;
    }
    public function  f2($a=5, $b=6)
    {
        echo '$a = ', $a, "\n";
        echo '$b = ', $b, "\n";
        echo '$this->a = ', $this->a, "\n";
        echo '$this->b = ', $this->b, "\n";
        echo '$this->$a = ', $this->$a, "\n";
        echo '$this->$b = ', $this->$b, "\n";
    }
}
$x = new TestThis;
$x->f1();
$x->f2();


$a = 5
$b = 6
$this->a = 1
$this->b =
$this->$a =
$this->$b =
  • Вопрос задан
  • 79 просмотров
Решения вопроса 2
DevMan
@DevMan Куратор тега PHP
Комментировать
@dimoff66
Кратко о себе: Я есть
При использовании $this->$x в $x может содержаться имя свойства, например

echo $this->name

идентично

$x = 'name';
echo $this->$x;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
$this->a = $a; задаёт значение public $a;
$this->$b = $b; задаёт значение public $b;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы